3
從NSUserDefaults
讀取時,我無故崩潰。我第一次讀它很好。我得到的數據和它的好。第二次,我得到一個崩潰/我得到空值。用戶默認讀取崩潰 - 非常不尋常
事情我已經檢查:
- 不,我不會刪除它別的地方。
- 不,沒有人在同一時間調用它。
- 如果它爲零?它不應該是零,我沒有地方可以擦除它,在第一次(有數據)和第二次(崩潰)之間,沒有人甚至觸摸它。
- 它節省了
NSMutableArray
的NSData
,它可能是好的,因爲它可以在第一個電話上工作。
它可能是什麼?
return [[NSUserDefaults standardUserDefaults]objectForKey:@"tempImagesArray"];
我甚至沒有把代碼保存它,因爲我救它時,首先啓動的應用程序,我第二次甚至不保存任何東西,它的存在,從內存中最後一次。 (它的存在,在第一個電話不是第二)
編輯:::彙編我看到崩潰:
0x19f8e2c: movl %eax, (%esp)
0x19f8e2f: calll 0x1bcdfee ; symbol stub for: objc_msgSend
0x19f8e34: jmp 0x19f8e38 ; -[NSUserDefaults(NSUserDefaults) objectForKey:] + 74
0x19f8e36: xorl %eax, %eax
0x19f8e38: addl $20, %esp
您不能使用給定的代碼使應用程序崩潰。你的問題在別處。 – Desdenova 2013-03-20 10:17:46
請參閱編輯。我想這樣,但看到日誌 – Curnelious 2013-03-20 10:19:50
首先嚐試從本地獲取該數組(刪除返回語句) - NSArray * checkArray = [[NSUserDefaults standardUserDefaults] objectForKey:@「tempImagesArray」];的NSLog(@ 「%@」,checkArray);結果是什麼? – Mrunal 2013-03-20 10:20:50