これはサンプルコードです:
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
ただし、まったく異なるものです。これは、nil / nullポインタが許可されていないNSDictionarysなどで「何もない」を表すプレースホルダとして機能するシングルトンオブジェクトです。