【发布时间】:2015-06-26 12:23:50
【问题描述】:
我目前正在做这样的事情
NSDictionary *imageDataDictionary = nil;
imageDataDictionary = (NSDictionary *)metadataItem.value;
if(imageDataDictionary != nil)
{
if ([imageDataDictionary objectForKey:@"data"] != nil) <---Crashes
{
}
}
应用崩溃
if ([imageDataDictionary objectForKey:@"data"] != nil)
因为它有 0 个键值对。 我想知道检查 NSDictionary 是否有效以及是否有任何键值对的正确方法是什么
这是消息
2015-04-19 15:56:37.255 MBlast[61278:2115186] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFData objectForKey:]: unrecognized selector sent to instance 0x7c16a7e0'
【问题讨论】:
-
在这种情况下它不会崩溃developer.apple.com/library/prerelease/ios/documentation/Cocoa/…:另外,你不需要检查 imageDataDictionary 是否为零,没有它它也可以工作
-
崩溃说明了什么?
-
我敢打赌
metadataItem.value不是字典。 -
不要尝试对 NSData 对象执行
objectForKey。它永远不会起作用。
标签: ios objective-c