【发布时间】:2011-08-11 19:28:30
【问题描述】:
我确实搜索了如何检查 NSDictionary 键是否存在并提出了解决方案。但它仍然给我一个错误,说向键添加空值。 我不确定我的代码是否正确。如果有人对此有任何想法可以帮助我。
NSDictionary *result;
id myImageURL = [result objectForKey:@"url"];
if ((NSNull *)myImageURL == [NSNull null])
myImageURL = @"";
id myImage = [result objectForKey:@"image"];
if ((NSNull *)myImage == [NSNull null])
myImage = @"";
检查 null 是否不添加任何内容,如果不添加值。但它仍然给我一个不知道为什么的错误。
/****OUTPUT*****/
2011-08-11 14:56:06.668 Tab_Table_Win[6510:207] RESULTS : {
image = "<UIImage: 0xbc332c0>";
url = "http://a3.twimg.com/profile_images/999228511/normal.jpg";
}
2011-08-11 14:56:06.669 Tab_Table_Win[6510:207] url : http://a3.twimg.com/profile_images/999228511/normal.jpg
2011-08-11 14:56:06.670 Tab_Table_Win[6510:207] IMage : <UIImage: 0xbc332c0>
/*****Breaks Here ***/
2011-08-11 14:56:06.876 Tab_Table_Win[6510:207] RESULTS : {
}
2011-08-11 14:56:06.878 Tab_Table_Win[6510:207] url : (null)
2011-08-11 14:56:06.879 Tab_Table_Win[6510:207] IMage : (null)
2011-08-11 14:56:06.881 Tab_Table_Win[6510:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary setObject:forKey:]: attempt to insert nil key'
【问题讨论】:
-
它给出的确切错误是什么,以及哪一行代码?
-
检查我的答案。通过将其发送到 id 然后将其转换为您正在浪费内存,尽管它非常低。你可以做一行。我希望 iOS 有一个类似 .net 的 keysExist 属性。
标签: iphone objective-c nsstring nsdictionary