2011-07-19 8 views
1

で作業する場合、私は、次の行が時々SIGABRTをスローSIGABRTを受け取る:NSUserDefaults

[[NSUserDefaults standardUserDefaults】同期]。

なぜ起こるのかわかりません。ところで、アプリはマルチスレッド化されています。

+1

を実装しなかった場合にも発生することができますか? –

+0

メインスレッドでクラッシュする –

答えて

1

NSUserDefaultsはスレッドセーフですが、それは問題ではありません。あなたはデフォルトでいくつかのオブジェクトを解放しており、同期が見つかったらそれはクラッシュしています。

+0

いいえ、これはおそらく原因ではありません。 –

+0

NSZombieEnabledを有効にして、何が起こるか見てみましょうか?手動で同期を実行する特別な理由はありますか? – Jano

+0

NSZombieEnabledとは何ですか? –

0

お好みにキー値オブザーバーを追加し、そのメッセージを送信しないスレッドで

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context