[iOS] Foundation 프레임워크 클래스

JJOOEE__·2024년 6월 26일
0

iOS

목록 보기
2/4
post-thumbnail

🍎 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

  • 날짜와 시간 계산을 위한 클래스

◻️ NSDateFormatter

  • 날짜와 시간을 문자열로 변환하고 반대로 변환하는 클래스

🌈

🍏 파일 처리

◻️ NSFileManager

  • 파일 시스템에서 파일 및 디렉토리를 관리하는 클래스

◻️ NSData

  • 바이너리 데이터를 관리하는 클래스

◻️ NSFileHandle

  • 파일과 관련된 입출력 작업을 수행하는 클래스

🌈

🍏 네트워킹

◻️ NSURL

  • URL을 나타내는 클래스

◻️ NSURLRequest

  • 웹 서버로 요청을 보내기 위한 클래스

◻️ NSURLSession

  • 비동기 네트워크 작업을 수행하는 클래스

🌈

🍏 데이터 저장 및 직렬화

◻️ NSUserDefaults

  • 애플리케이션의 설정 및 기본 데이터를 저장하는 클래스

◻️ NSCoding

  • 객체를 직렬화하고 역직렬화하기 위한 프로토콜

🌈

🍏 암호화 및 보안

◻️ CommonCrypto

  • 데이터의 암호화와 해시 처리를 위한 C 라이브러리

◻️ SecKey

  • 공개 키 및 비밀 키를 관리하는 클래스

🌈

🍏 유틸리티 클래스

◻️ NSUUID

  • 고유 식별자(UUID)를 생성하는 클래스

◻️ NSProcessInfo

  • 현재 프로세스의 정보를 가져오는 클래스

🌈

🍏 기타 유틸리티

◻️ NSNotification

  • 객체 간에 정보를 비동기적으로 전달하는 클래스

◻️ NSTimer

  • 특정 시간 간격마다 코드를 실행하는 타이머 클래스

🌈

profile
개발이 어려운 나를 위한... 개발노트

0개의 댓글