<分区>
标签 ios objective-c
<分区>
我知道我们可以使用 nil 来验证 objective-c 中的空值。我一直在尝试使用它,但程序每次都会崩溃。
这是我在服务中得到的回应
2013-12-16 12:45:32.867 Pizza to Go[1857:a0b] 0
2013-12-16 12:45:32.868 Pizza to Go[1857:a0b] <null>
2013-12-16 12:45:32.868 Pizza to Go[1857:a0b] <null>
2013-12-16 12:45:32.868 Pizza to Go[1857:a0b] <null>
2013-12-16 12:45:32.868 Pizza to Go[1857:a0b] <null>
2013-12-16 12:45:32.869 Pizza to Go[1857:a0b] 70
2013-12-16 12:45:32.869 Pizza to Go[1857:a0b] 130
2013-12-16 12:45:32.869 Pizza to Go[1857:a0b] 0
2013-12-16 12:45:32.869 Pizza to Go[1857:a0b] 80
2013-12-16 12:45:32.869 Pizza to Go[1857:a0b] 50.5
2013-12-16 12:45:32.869 Pizza to Go[1857:a0b] 10
我先试了这个然后崩溃了
if([[result[i] objectForKey:@"ordertotalprice"] isEqualToString:@"<null>"]){
orderHead.price = 0;
}else{
orderHead.price = [[result[i] objectForKey:@"ordertotalprice"] doubleValue];
}
然后这也崩溃了。
if([result[i] objectForKey:@"ordertotalprice"] == nil){
orderHead.price = 0;
}else{
orderHead.price = [[result[i] objectForKey:@"ordertotalprice"] doubleValue];
}
这是来自错误日志
-[NSNull doubleValue]: unrecognized selector sent to instance 0x20af068
2013-12-16 12:55:19.017 Pizza to Go[2083:a0b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull doubleValue]: unrecognized selector sent to instance 0x20af068'
我不确定我在这里做错了什么。感谢一些帮助。
最佳答案
基础集合只能包含对象类型(NSObject
子类)。因此,为了表示零,我们使用 +[NSNull null]
.恰好NSNull
-description
的实现返回 <null>
这就是您在控制台中看到的内容。
尝试比较 -objectForKey
的结果至 [NSNull null]
相反。
关于ios - 识别 Objective-C 中的 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20605334/