我在NSUserDefault词典中存储了一些图像,我在我的应用程序的不同位置使用它。
我的代码
userDefault=[NSUserDefaults standardUserDefaults];
if([userDefault objectForKey:flgString]) {
崩溃场景罕见,并且仅在我的应用首次加载时(当所有缓存数据为空时)。 一旦从服务器获取所有图像并将其加载到缓存中,它就不会崩溃。
以下是崩溃日志,有什么想法吗?
#0 0x01afca67 in objc_msgSend ()
#1 0x019cffdf in kCFCoreFoundationVersionNumber ()
#2 0x019b33d8 in __CFBasicHashStandardEquateKeys ()
#3 0x019b1fe7 in ___CFBasicHashFindBucket_Linear ()
#4 0x018bd632 in CFBasicHashFindBucket ()
#5 0x018bd50c in CFDictionaryGetValue ()
#6 0x018e273b in -[CFXPreferencesPropertyListSource getValueForKey:] ()
#7 0x018e26c6 in -[CFXPreferencesSearchListSource getValueForKey:] ()
#8 0x018df0ee in CFPreferencesCopyAppValue ()
#9 0x002d42e8 in -[NSUserDefaults(NSUserDefaults) objectForKey:] ()
#10 0x000f8633 in -[XController tableView:cellForRowAtIndexPath:]
修改 我没有将UIImage存储在userdefault中,而是存储NSData。
答案 0 :(得分:0)
您的用户默认值中的对象看起来不是基本的property-list类型。这是不允许的。
答案 1 :(得分:0)
“key”必须不是nil,崩溃是“flgString”是nil,如果是nil,你可以为它设置@“”。
正确的代码
userDefault=[NSUserDefaults standardUserDefaults];
if([userDefault objectForKey:(flgString?:@"")]) {