본문 바로가기
프로그래밍 놀이터/iOS

[ios] nil? Nil? NULL? NSNull?

by 돼지왕 왕돼지 2017. 11. 15.
반응형

[ios] nil? Nil? NULL? NSNull?


0, alloc, Boxing, C pointer null, CLASS, class nil, collection, ID, literal null, nil, NSArray, NSDictionary, nsnull, nsobject, objective-c null, Singleton, void*, zero return, [ios] nil? Nil? NULL? NSNull?


nil


-

(id)0 // 어디에도 대입될 수 있는 null 의 형태

literal null value for Objective-C objects



-

NSObject 를 상속한 녀석이 alloc 이 되면 기본적으로 0 pointer 인 nil 이 assign 된다.



-

nil 은 message 를 보낼 수 있다는 특징이 있다.

nil 에 보낸 message 는 zero 를 return 한다.




Nil


-

(Class)0 // literal null value for Objective-C classes



-

Class someClass = Nil;

Class anotherClass = [NSString class];




NULL


-

(void*)0 // literal null value for C pointers



-

int *pointerToInt = NULL;

char *pointerToChar = NULL;

struct TreeNode *rootNode = NULL;




NSNull


-

Singleton 이다.



-

NSArray 나 NSDictionary 와 같은 collection 이 nil 을 가질 수 있게 하기 위해 사용되는 NSObject 를 상속한 녀석.



-

NULL 이나 nil 을 boxing 한 녀석이라고 보면 된다.




Conclusion


-

different usage but same




반응형

댓글