ios - 识别 Objective-C 中的 NULL 值

标签 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/

上一篇:iOS删除表单可变数组异常

下一篇:ios - 如何以编程方式将 uibutton 设置为右对齐?

相关文章:

ios - @选择器(方法:) conversion to Swift

ios - 在 ScrollView 上使用 UIDynamicAnimator?

Objective-C/C 将 UTF8 文字转换为真正的字符串

objective-c - 在 NSTableView 中创建自定义单元格

ios - 呈现弹出 View 时,如何让用户在父 Collection View 中选择单元格?

ios - 使用 SDWebImage 并将图像保存到公共(public)图库

ios - 使用默认后退按钮时 Unwind 方法不起作用

ios - 如何在 Objective-C 中硬编码 .cer 证书?

ios - 为什么这条语句会有编译器警告?

objective-c - 如何使命令-A 选择 NSTableView 中行中的所有 NSTextView 文本?