我目前做這樣的事情如何檢查鍵值對的NSDictionary而不使其崩潰?
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'
它不會在這種情況下崩潰https://developer.apple.com/library/prerelease/ios/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/index.html #// apple_ref/occ/instm/NSDictionary/objectForKey:另外,你不需要檢查imageDataDictionary爲零,它將在沒有它的情況下工作 – creker
崩潰說了什麼? – NobodyNada
我敢打賭,'metadataItem.value'不是一本字典。 – Kevin