首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在objective-c中用NSNull编写if语句

如何在objective-c中用NSNull编写if语句
EN

Stack Overflow用户
提问于 2011-09-26 14:32:49
回答 2查看 7.6K关注 0票数 16

我正在开发一个iPhone应用程序,其中我需要使用JSON从服务器接收数据。在iPhone端,我将数据转换为NSMutableDictionary

但是,有一个date类型的数据为空。

我用下面的句子来读出日期。

代码语言:javascript
复制
NSString *arriveTime = [taskDic objectForKey:@"arriveTime"];
NSLog(@"%@", arriveTime);

if (arriveTime) {
    job.arriveDone = [NSDate dateWithTimeIntervalSince1970:[arriveTime intValue]/1000];
}

当arriveTime为null时,如何创建if语句。我尝试过arriveTime长度!= 0,但是我不能工作,因为arriveTime是一个NSNull,没有这个方法。

EN

Stack Overflow用户

回答已采纳

发布于 2011-09-26 14:45:44

NSNull实例是一个单例。您可以使用简单的指针比较来完成此操作:

代码语言:javascript
复制
if (arriveTime == nil) { NSLog(@"it's nil"); }
else if (arriveTime == (id)[NSNull null]) { // << the magic bit!
  NSLog(@"it's NSNull");
}
else { NSLog(@"it's %@", arriveTime); }

或者,如果您觉得更清楚,也可以使用isKindOfClass:

代码语言:javascript
复制
if (arriveTime == nil) { NSLog(@"it's nil"); }
else if ([arriveTime isKindOfClass:[NSNull class]]) {
  ...
票数 39
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7551369

复制
相关文章

相似问题

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