objective-c - 什么时候应该在 Objective-C 中使用 nil 和 NULL?

这是示例代码:

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]?

最佳答案

它们的类型不同。它们都为零,但 NULLvoid *nilid,而 Nil 是一个类指针。

https://stackoverflow.com/questions/1564410/

相关文章:

objective-c - 当前位置权限对话框消失得太快

ios - 如何将本地 html 文件加载到 UIWebView

objective-c - NSInvalidUnarchiveOperationException

objective-c - 如何摆脱 'undeclared selector' 警告

ios - 从另一个应用程序打开设置应用程序

ios - 处理 NSDateFormatter 语言环境 "feature"的最佳方法是什么?

objective-c - Objective-C 可以打开 NSString 吗?

ios - 如何将方法调用延迟 1 秒?

objective-c - 在 Objective-C 中,我为什么要检查 self = [supe

objective-c - ARC 和桥接铸件