微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

objective-c – if字典对象的if语句:值为@时的“key”

我正在使用目标c来购买 iphone应用程序.

我看到[dictionary objectForKey:@“key”]返回< null>.做一个if([dictionary objectForKey:@“key”] == nil || [dictionary objectForKey:@“key”] == null)似乎没有抓住这种情况.

一个if([[dictionary objectForKey:@“key”] isEqualToString:@“< null>”])导致我的程序崩溃.

捕获< null>?的正确表达式是什么?

更多细节
对于nil的if语句仍然没有抓住案例…也许我只是太累了看不到的东西,但这里的附加信息:

字典通过包含json数据的url填充,如下所示:

NSURL *url = [NSURL URLWithString:"http://site.com/"];

dataresult = [NSData dataWithContentsOfURL:url];

NSError *error;
NSMutableDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:dataresult options:kNilOptions error:&    error];

在字典上执行NSLog会产生以下输出

{
    key = "<null>";
    responseMessage = "The email / registration code combination is incorrect";
}

解决方法

你有一个NSNull的例子.实际上,实例,因为它是一个单身人士.

Cocoa集合不能包含nil,但如果您尝试访问不存在的内容,它们可能会返回nil.

但是,有时候,一个程序在一个集合中存储一个意味着“没有”的东西是有价值的.这就是NSNull的用途.

碰巧,JSON可以表示null对象.因此,在将JSON转换为Cocoa集合时,这些空对象将转换为NSNull对象.

当Cocoa使用“%@”说明符格式化字符串时,nil值将被格式化为带有括号的“(null)”. NSNull值将格式化为“< null>”带尖括号.

原文地址:https://www.jb51.cc/c/117431.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐