首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么时候应该在Objective-C中使用nil和NULL?

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

Stack Overflow用户
提问于 2009-10-14 13:29:19
回答 12查看 122.9K关注 0票数 172

以下是示例代码:

代码语言:javascript
复制
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

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2009-10-14 05:32:49

您可以在任何可以使用null的地方使用nil。主要区别在于,您可以将消息发送到nil,因此您可以在null无法工作的一些地方使用它。

一般来说,只要使用nil即可。

票数 119
EN

Stack Overflow用户

发布于 2009-10-14 07:49:03

它们的类型不同。它们都是零,但是NULL是一个void *nil是一个id,而Nil是一个类指针。

票数 319
EN

Stack Overflow用户

发布于 2009-10-14 15:56:36

NULL和nil彼此相等,但是nil是一个对象值,而NULL是一个通用指针值(具体来说,是(void*)0)。[NSNull null]是一个对象,用于在不允许使用nil的情况下代替nil。例如,在NSArray中不能有nil值。因此,如果需要表示"nil",可以使用[NSNull null]

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1564410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档