- 프레임워크(Framework)란? 어플리케이션에서 구현할 기능들을 하나의 묶음으로 작성한 것을 의미한다.
- 파운데이션 프레임워크는 iOS에서 사용할 기능들을 하나의 묶음으로 제공하게 된다.
- 호출 방법 : #import <Foundation/Foundation.h>
- 파운데이션 프레임워크는 클래스 이름 앞에 "NS"를 붙여서 사용한다.
ex) String -> NSString, int -> NSSInteger - 파운데이션 프레임워크에서 가장 상위 객체 : NSObject
- NSObject는 모든 클래스의 부모 클래스이다.
- NSObject 주요 기능
- 메모리 관리
- 객체를 메모리에 할당하고, 해제하여 메모리를 관리한다.
- alloc 함수로 객체를 메모리에 할당
- dealloc 함수로 객체를 메모리에 해제
- 객체 비교
- 비교 시에 타입에 주의를 한다.
- 원시 타입은 '==' 으로 값을 비교
- 포인터 타입은 '==' 로 주소 비교로 동일 객체 여부를 판단
- 위 코드의 경우 결과는 아래와 같이 나온다.
- 동일한 값이지만, 다른 문자열 객체로 나오게 되는데 포인터 타입의 경우 주소를 비교하기 때문이다.
- 포인터 타입의 값을 비교는 NSObject 클래스 내에 isEqual 함수를 이용
- 객체의 상황을 설명
- 파운데이션 프레임워크에서의 데이터 종류