我正在开发一个iPhone应用程序,我需要使用JSON
从服务器接收数据。
在iPhone方面,我将数据转换为NSMutableDictionary
。
但是,日期类型数据为空。
我使用以下句子来阅读日期。
NSString *arriveTime = [taskDic objectForKey:@"arriveTime"];
NSLog(@"%@", arriveTime);
if (arriveTime) {
job.arriveDone = [NSDate dateWithTimeIntervalSince1970:[arriveTime intValue]/1000];
}
当arrivalTime为null时,如何创建if语句。我试过[到达时间长度]!= 0,但我不工作,因为到达时间是一个NSNull并且没有这个方法。
答案 0 :(得分:38)
NSNull
实例是单例。您可以使用简单的指针比较来完成此任务:
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:
:
if (arriveTime == nil) { NSLog(@"it's nil"); }
else if ([arriveTime isKindOfClass:[NSNull class]]) {
...
答案 1 :(得分:-2)
单行
arriveTime ? job.arriveDone = [NSDate dateWithTimeIntervalSince1970:[arriveTime intValue]/1000]; : NSLog(@"Arrive time is not yet scheduled");