Đây là mã mẫu:
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]");
Khi nào tôi nên sử dụng nil, NULL và [NSNull null]?
nil
có nghĩa là một loại NULL
ví dụ objc. Vì vậy, bạn có thể đánh dấu giá trị cụ thể được dành cho ví dụ objc hoặc con trỏ chung. Theo quan điểm của quản lý loại và an toàn, điều này sẽ giúp bạn rất nhiều.
nil
và null
/ NULL
giống nhau - cả hai đều được xác định bằng không. Là một hình thức, sử dụng nil
khi mã hóa Objective-C và NULL
khi mã hóa các câu lệnh / cuộc gọi C / C ++ thông thường. NSNull
là một cái gì đó hoàn toàn khác nhau, tuy nhiên. Đó là một đối tượng đơn lẻ đóng vai trò là người giữ chỗ để đại diện cho "không có gì" trong, ví dụ: NSDipedia nơi không cho phép con trỏ nil / null.