2

次のメソッドは、アプリ サーバーから情報を取得した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];
}];
4

1 に答える 1