コンテキストを保存するときにこの問題が発生します。断続的です。半分の時間でコンテキストが適切に保存され、残りの半分でオブジェクトのメンバーが null になります (そして、実際にはコンテキストには何も残りません。
「mylist」は、保存しているコンテキストに属する NSManagedObject のリストです。"result" は常に YES なので、エラーはありません。
// prints out results before save
for (MyObj* obj in mylist) {
NSLog(@"%p, %@", obj, [obj message]);
}
//context save here
NSError *error;
BOOL result = [[[Core appDelegate] managedObjectContext] save:&error];
if (!result) {
NSLog(@"Save Failed!");
NSLog(@"report: %@, %@, %@", error, [error userInfo],[error localizedDescription]);
} else {
NSLog(@"Save succeeded");
}
// prints out results after save
for (MyObj* obj in mylist) {
NSLog(@"%p, %@", obj, [obj message]);
}
コンソールには次のようなものが表示されます。
0x9af6990, message0
0x9af8910, message1
0x9afa390, message2
0x9afa5a0, message3
Save succeeded
0x9af6990, (null)
0x9af8910, (null)
0x9afa390, (null)
0x9afa5a0, (null)
また、コンテキストから再取得しようとしましたが、保存後にオブジェクトが 0 になりました。これはすべてメインスレッドで行われています。何か案は?この時点で本当に困惑しています。