以下方法被調用,以便在AFNetworking
從我的應用服務器獲取信息後填充我的Core-Data
。NSPrivateQueueConcurrencyType未正確保存
該信息似乎完美地工作,因爲當表更新時,我可以看到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];
}];
你保存的主要方面以及?保存子上下文僅保存到主上下文,並將主上下文保存到存儲文件。 –
如何在線程完成後保存主要上下文? –