Bu örnek kod:
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]");
Ne zaman nil, NULL ve [NSNull null] kullanmalıyım?
nil
NULL
objc örneği için bir tür anlamına gelir . Böylece belirli bir değeri objc örneği veya genel işaretçi için tasarlanmıştır işaretleyebilirsiniz. Tip yönetimi ve güvenliği göz önüne alındığında, bu size çok yardımcı olacaktır.
nil
ve null
/ NULL
aynıdır - her ikisi de sıfır olarak tanımlanır. Bir formalite olarak, nil
Objective-C NULL
kodlarken ve normal C / C ++ ifadelerini / çağrılarını kodlarken kullanın . NSNull
Ancak, tamamen farklı bir şeydir. Örneğin, nil / null işaretleyicilerine izin verilmeyen NSDictionarys içinde "hiçbir şeyi" temsil etmek için yer tutucu görevi gören tek bir nesne.