이것은 샘플 코드입니다.
NSDictionary *myDictionary = [NSDictionary dictionary];
NSNumber *myNumber = [myDictionary valueForKey: @"MyNumber"];
NSLog(@"myNumber = %@", myNumber); // output myNumber = (null)
if (myNumber == nil)
NSLog(@"test 1 myNumber == nil");
if (myNumber == NULL)
NSLog(@"test 2 myNumber == NULL");
if ([myNumber isEqual:[NSNull null]])
NSLog(@"test 3 myNumber == [NSNull null]");
nil, NULL 및 [NSNull null]은 언제 사용해야합니까?
nil
NULL
objc 인스턴스 의 일종을 의미 합니다. 따라서 특정 값이 objc 인스턴스 또는 일반 포인터 용임을 표시 할 수 있습니다. 유형 관리 및 안전 측면에서 이것은 많은 도움이 될 것입니다.
nil
및 null
/ NULL
제로로 정의 된 두 - 동일합니다. 공식적으로 nil
Objective-C NULL
를 코딩 할 때 와 정기적 인 C / C ++ 문 / 호출을 코딩 할 때 사용하십시오. NSNull
그러나 완전히 다른 것입니다. Null / Null 포인터가 허용되지 않는 NSDictionarys와 같이 "아무것도"를 나타내지 않는 자리 표시 자 역할을하는 단일 객체입니다.