iOS NSObject nil, Nil, NULL, NSNull 대한 차이

nil, Nil, NULL, NSNull 대한 차이

nil / NULL / Nil 은 Objective-C 에서 사용할 수 없는 번지를 가리키는 포인터의 부재
Swift에서는 모두 nil로 처리한다.

nil

NSString *strObject = nil;
  • Objective-c object의 포인터가 없음

Nil

Class myClass = Nil;
  • Objective-c class 포인터가 없음.
  • Objective-c class: 자신이 속한 클래스의 정보를 가진 구조체.

NULL

int *intPtr = NULL;
  • c-pointer의 부재(주소가 0) 및 C나 C++의 변수 및 객체에 사용

NSNull

[array addObject:[NSNull null]];
if ([array objectAtIndex:0] == [NSNull null])
  • NSObject를 상속받는 객체
  • collection item을 null로 설정할 필요가 있을때 사용

참고:

댓글남기기