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

前端之家收集整理的这篇文章主要介绍了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>”带尖括号.

猜你在找的C&C++相关文章