次のメソッドは、アプリ サーバーから情報を取得したCore-Data
後、データを入力するために呼び出されます。AFNetworking
テーブルが更新されると、新しい情報が更新されていることがわかりますUITableView
。
今私が抱えている問題は、情報を見ることができるということです(サーバーからフェッチされ、コアデータに保存され、再フェッチされてに表示されたUITableView
後)、アプリを閉じて再度開くと、情報はもうありません。
情報が永続的ではないようで、問題はスレッドにあるようです。メソッドでスレッドオプションを削除すると、すべて正常に機能します。
私は何が欠けていますか?? 遭遇したほとんどのことを試しましたが、解決策が見つからないようです。
NSManagedObjectContext *childContext = [[NSManagedObjectContext alloc]
initWithConcurrencyType:NSPrivateQueueConcurrencyType];
childContext.parentContext = managedObjectContext;
myModel.context = childContext;
[childContext performBlock:^{
// ... Lots Controller logic code that then calls the class myModel where all my Core-Data save methods are
// Sort Wall Pictures
if ( [dataHolder[@"verb"] isEqualToString:@"addWallPicture"] ) {
data = @{ @"resourceID":dataHolder[@"_id"][@"$id"],
@"resourceName":dataHolder[@"details"][@"resourceName"],
@"author":@{ @"id":dataHolder[@"userId"][@"$id"],
@"username":dataHolder[@"details"][@"authorName"] },
@"likesNumber":@0,
@"likesPeople":@[]
};
[myModel saveSocialWall:data date:date verb:dataHolder[@"verb"] code:dataHolder[@"_id"][@"$id"] myUser:myUser];
continue;
}
[childContext save:&error];
}];