1
我從API資源中檢索一些數據,並且想要使用魔法記錄將結果存儲在我的城市實體內,當過程完成時,使用結果在我的ViewController中重新加載tableView。將數據保存在塊中的魔法記錄
一切都很好,但是當我第一次啓動應用程序時,會啓動dowload進程並將數據保存在覈心數據中。
但我的ViewControllers中的表視圖是空的。
如果我在第一時間
後啓動應用程序的正確的tableView刷新。
我不知道問題是否在線程中...任何人都可以幫助我嗎?
的ViewController:
在這裏,我開始請求。當塊被調用時,我保存城市陣列和重載的tableView
- (void)getCitiesFromDataStore {
[[APIManager sharedManager] getCitiesWithCompletion:^(NSArray *cities) {
_dataSourceArray = cities;
[self.citiesTableView reloadData];
} failure:^(NSError *error) {
NSLog(@"%@",error.localizedDescription);
}];
}
APIMAnager
- (void)getCitiesWithCompletion:(void (^)(NSArray *))succesBlock
failure:(void (^)(NSError *))errorBlock
{
NSArray *cachedCities = [City findAllCities];
if ([cachedCities count] == 0) {
[self GET:@"cities" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
NSArray *results = responseObject[@"cities"];
[City MR_importFromArray:results];
[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
NSArray *cities = [City findAllCities];
succesBlock(cities);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
errorBlock(error);
}];
return;
}
// Si ya hay ciudades almacenadas en CoreData, devuelvo el
// succesblock con las ciudades de CoreData
succesBlock(cachedCities);
}
我有一個類別也管理與城市實體
市+ DBOperations行動
+ (NSArray *)findAllCities
{
NSArray *cities = [City MR_findAll];
return cities;
}
您是否嘗試過在指定的進口默認情況下? '[City MR_importFromArray:results inContext:[NSManagedObjectContext MR_defaultContext]]'。 – 2014-10-06 19:50:25
該問題已經解決從我的Pod文件中刪除魔法記錄並將庫導入我的項目從神奇記錄github頁面 – dpbataller 2014-10-08 18:40:45
@dpbataller - 我不知道你是否有足夠高的分數,但如果你想出你的想法自己的問題,你應該繼續前進,並把它作爲一個實際的答案,並將其標記爲這樣。這樣人們就知道你已經修好了。 – RyanJM 2014-11-13 23:33:41