นี่คือตัวอย่างรหัส:
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เป็นสิ่งที่แตกต่างอย่างสิ้นเชิงอย่างไรก็ตาม มันเป็นวัตถุซิงเกิลตันที่ทำหน้าที่เป็นตัวยึดตำแหน่งเพื่อแทน "nothing" ในเช่น NSDictionarys ที่ไม่อนุญาตพอยน์เตอร์ / null