这是我的代码:
LoadViewController *loadingViewController = [[LoadViewController alloc] initWithNibName:@"LoadViewController" bundle:nil];
[self.view addSubview:loadingViewController.view];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) , ^{
[Util deleteAllObjects:@"Unit"];
for (NSDictionary *eachUnit in serviceData) {
//insert in DB
AppDelegate* appDelegate = [AppDelegate sharedAppDelegate];
NSManagedObjectContext *context = appDelegate.managedObjectContext;
Unit *unit = [NSEntityDescription insertNewObjectForEntityForName:@"Unit" inManagedObjectContext:context];
unit.id_unidade = [eachUnit objectForKey:@"id"];
unit.title = [eachUnit objectForKey:@"title"];
unit.image = [eachUnit objectForKey:@"image"];
unit.address = [eachUnit objectForKey:@"address"];
unit.desc = [eachUnit objectForKey:@"desc"];
unit.coord = [eachUnit objectForKey:@"coord"];
NSError *error;
if (![context save:&error]) {
NSLog(@"Ops,fail: %@", [error localizedDescription]);
}
}
NSLog(@"before");
[self fillUnits];
NSLog(@"after");
dispatch_async(dispatch_get_main_queue(), ^(void) {
NSLog(@"reload");
[self.tableView reloadData];
[loadingViewController.view removeFromSuperview];
NSLog(@"after reload");
});
});
它一直显示到 NSLog(@"after"),但永远不会出现在 NSLog(@"reload") 上。有什么线索吗??