본문 바로가기

Objective-C 기초

nil 포인터

반응형

nil포인터

아무것도 가리키지 않는 빈(empty) 포인터다. 

nil, Nil, NULL똑같이 (void*)0로 정의되어 있지만, 단지 의미를 구분해서 쓴다.

nil : null instance pointer

Nil : null class pointer

NULL : 일반적인 C에서의 NULL 포인터.


nil에 메소드를 호출하면

1. 반환값이 없는 메소드라면 무시되고,

2. 반환값이 있는 메소드라면 반환값은 0또는 nil이다.


ex)

NSString *str = nil;

NSLog(@"Len : %lu", (unsigned long)[str length]);

==> 반환값은 0


NSLog(@"Upper Case String : %@", [str uppercaseString]);

==> 반환값은 nil


정상적으로 처리되지 않을 경우 nil을 리턴하는 경우가 많음.


또한 포인터를 선언만 해둔 상태라면 nil이 들어가 있음.

반응형

'Objective-C 기초' 카테고리의 다른 글

인스턴스 메소드 & 클래스 메소드  (0) 2019.02.09
클래스 작성  (0) 2019.02.08
메소드  (0) 2019.02.01
클래스와 객체  (0) 2019.01.31
콘솔app 시작.  (0) 2019.01.31