[iOS] Foundation 프레임워크 클래스
🍎 Foundation 프레임워크 클래스
- 모든 클래스를 다 정리하진 못하지만 자주 사용하고 알아두면 좋은 클래스들에 대해 정리해둘 것!
🍏 기본 데이터 타입 및 컬렉션 타입
◻️ NSString
- 문자열을 생성하고, 조작하며, 검색하거나 비교하는 다양한 기능을 제공
- 유니코드 문자열 처리, 포맷팅, 정규표현식과 같은 작업에서 사용
🌈 주요 메서드
- stringWithFormat: 형식화된 문자열을 생성합니다.
- length: 문자열의 길이를 반환합니다.
- substringFromIndex, substringToIndex, substringWithRange: 문자열의 일부를 추출합니다.
- stringByAppendingString:: 다른 문자열을 현재 문자열에 추가합니다.
- isEqualToString: 다른 문자열과 현재 문자열을 비교합니다.
◻️ NSNumber
- 기본 데이터 타입인 int, float, double 등의 숫자를 객체로 래핑하여 Objective-C 및 Cocoa 프레임워크에서 객체로 처리
- 숫자 형식의 데이터를 컬렉션에 저장하거나 다른 객체와 상호작용할 때 사용
🌈 주요 메서드
- intValue, floatValue, doubleValue: NSNumber 객체를 기본 데이터 타입으로 변환합니다.
- compare: 다른 NSNumber 객체와 비교합니다.
- numberWith*: 시리즈: 특정 기본 데이터 타입의 값을 NSNumber 객체로 생성합니다.
- stringValue: 숫자 값을 문자열로 변환합니다.
◻️ NSArray
- 고정된 순서로 객체들을 저장하는 컬렉션, 변경 불가능한 배열
- 한 번 생성된 후에는 요소를 추가하거나 삭제할 수 없음
- 주로 순차적으로 접근하거나 데이터를 그룹화할 때 사용
🌈 주요 메서드
- count: 배열의 요소 개수를 반환합니다.
- objectAtIndex: 지정된 인덱스의 객체를 반환합니다.
- arrayWithObjects: 객체들로 새로운 배열을 생성합니다.
- containsObject:: 배열에 특정 객체가 포함되어 있는지 확인합니다.
- sortedArrayUsingSelector: 정렬된 배열을 반환합니다.
◻️ NSMutableArray
- 변경 가능한 배열
- 요소의 추가, 삭제, 수정이 가능
- 크기가 동적으로 변할 수 있어 데이터를 유연하게 관리할 수 있음
- 동적인 데이터 구조를 구현하거나 요소를 동적으로 조작해야 할 때 사용
🌈 주요 메서드
- addObject: 배열에 객체를 추가합니다.
- removeObjectAtIndex: 지정된 인덱스의 객체를 제거합니다.
- replaceObjectAtIndex(:withObject): 지정된 인덱스의 객체를 새로운 객체로 교체합니다.
- insertObject(:atIndex): 지정된 위치에 객체를 삽입합니다.
- sortUsingSelector: 지정된 선택자(메서드)를 사용하여 배열을 정렬합니다.
◻️ NSDictionary
- 변경 불가능한 키-값 쌍의 컬렉션
- 한 번 생성된 후에는 키-값 쌍을 추가, 삭제, 수정할 수 없음
- 데이터를 매핑하고 구조화하여 키를 기반으로 검색 및 관리할 때 사용
🌈 주요 메서드
- objectForKey: 지정된 키에 해당하는 값을 반환합니다.
- allKeys, allValues: 모든 키들 또는 모든 값을 반환합니다.
- count: 딕셔너리에 포함된 키-값 쌍의 개수를 반환합니다.
- dictionaryWithObjectsAndKeys: 객체들과 키들로 새로운 딕셔너리를 생성합니다.
- isEqual: 다른 딕셔너리와 현재 딕셔너리를 비교합니다.
◻️ NSMutableDictionary
- 변경 가능한 키-값 쌍의 컬렉션
- 키와 값의 추가, 삭제, 수정이 가능
- 데이터를 동적으로 관리하거나 특정 키를 기준으로 값을 업데이트할 때 유용
🌈 주요 메서드
- setObject:forKey: 특정 키에 객체를 설정하거나 추가합니다.
- removeObjectForKey: 지정된 키와 해당하는 객체를 제거합니다.
- setValue:forKey: 특정 키에 값을 설정하거나 추가합니다. (KVC 방식)
- removeAllObjects: 딕셔너리의 모든 객체를 제거합니다.
- replaceObjectsForKeys(:withObjects): 지정된 키들에 대응하는 객체들을 새로운 객체들로 교체합니다.
◻️ NSExpression
🌈 주요 메서드
- expressionValue :
- init(format:arguments:): 지정된 형식 문자열과 인자들을 사용하여 NSExpression 객체를 초기화, 주로 형식 문자열에 맞게 수식을 만들거나 초기화할 때 사용
- expressionWithFormat(:arguments): 포맷 문자열과 인자들을 사용하여 NSExpression 객체를 생성, init(format:arguments:)와 유사하지만, 초기화 대신 객체를 반환
- expressionForConstantValue: 상수 값을 가진 NSExpression 객체를 반환, 특정 값을 나타내는 NSExpression을 생성할 때 사용
- expressionForEvaluatedObject: 주어진 객체를 평가하는 NSExpression 객체를 반환, 객체의 속성이나 함수를 평가하거나 값을 추출
- expressionForFunction(:name:arguments:): 주어진 이름과 인자들을 사용하여 함수를 나타내는 NSExpression 객체를 반환, 함수를 호출하거나 다양한 계산을 수행할 때 사용
- expressionForSymbolicString: 심볼릭 문자열을 가진 NSExpression 객체를 반환, 주로 수식이나 문자열을 저장하거나 전달할 때 사용
🍏 날짜 및 시간 처리
◻️ NSDate
◻️ NSCalendar
- 날짜와 시간을 문자열로 변환하고 반대로 변환하는 클래스
🌈
🍏 파일 처리
◻️ NSFileManager
- 파일 시스템에서 파일 및 디렉토리를 관리하는 클래스
◻️ NSData
◻️ NSFileHandle
🌈
🍏 네트워킹
◻️ NSURL
◻️ NSURLRequest
◻️ NSURLSession
🌈
🍏 데이터 저장 및 직렬화
◻️ NSUserDefaults
- 애플리케이션의 설정 및 기본 데이터를 저장하는 클래스
◻️ NSCoding
🌈
🍏 암호화 및 보안
◻️ CommonCrypto
- 데이터의 암호화와 해시 처리를 위한 C 라이브러리
◻️ SecKey
🌈
🍏 유틸리티 클래스
◻️ NSUUID
◻️ NSProcessInfo
🌈
🍏 기타 유틸리티
◻️ NSNotification
- 객체 간에 정보를 비동기적으로 전달하는 클래스
◻️ NSTimer
- 특정 시간 간격마다 코드를 실행하는 타이머 클래스
🌈