我没有搜索如何检查NSDictionary密钥是否存在,并提出了解决方案。但是它仍然给我一个错误,说为键添加空值。 我不确定我的代码是否正确。如果任何人有任何想法可以帮助我。检查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 = @"";
检查是否为空添加任何东西,如果没有添加值。但它仍然给我一个错误,不知道为什么。
/****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'
它给出的精确错误是什么,以及哪一行代码? – Chuck
我上面编辑了我的代码。 – lifemoveson
检查我的答案。通过发送它到一个id然后铸造它,你正在浪费记忆,尽管非常低。你可以做到一行。我希望iOS有一个像.net这样的keyExist属性。 –