Đâ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]?
nilcó nghĩa là một loại NULLví 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.
nilvà null/ NULLgiống nhau - cả hai đều được xác định bằng không. Là một hình thức, sử dụng nilkhi mã hóa Objective-C và NULLkhi mã hóa các câu lệnh / cuộc gọi C / C ++ thông thường. NSNulllà 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.