นี่คือตัวอย่างรหัส:
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