からの読み取り中に、理由もなくクラッシュしましたNSUserDefaults
。初めて読んだときは良かったです。私はデータを取得し、それは大丈夫です。2 回目は、クラッシュしたり、値が空になったりします。
私がすでにチェックしたこと:
- いいえ、どこかで消していません。
- いいえ、同時に呼び出している人はいません。
- もしゼロなら?それはゼロであってはならず、私がそれを消去する場所はありません.1回目(データがあります)と2回目(クラッシュ)の間、誰もそれに触れていません.
- の保存
NSMutableArray
、NSData
最初の呼び出しで動作するのでおそらく良いでしょう。
どうなり得るか?
return [[NSUserDefaults standardUserDefaults]objectForKey:@"tempImagesArray"];
最初にアプリを起動したときに保存するため、コードを保存することさえしませんでした.2回目は何も保存しません。(2 番目の呼び出しではなく、最初の呼び出しに存在します)
編集:::クラッシュ時に表示されるアセンブラー:
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