これはサンプルコードです:
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は一種のNULLobjcインスタンスを意味します。そのため、特定の値をobjcインスタンスまたはジェネリックポインター用にマークすることができます。型管理と安全性の観点から、これはあなたを大いに助けます。
                nilとnull/ NULLは同じです。どちらもゼロとして定義されています。形式として、nilObjective-Cをコーディングするとき、およびNULL通常のC / C ++ステートメント/呼び出しをコーディングするときに使用します。  NSNullただし、まったく異なるものです。これは、nil / nullポインタが許可されていないNSDictionarysなどで「何もない」を表すプレースホルダとして機能するシングルトンオブジェクトです。