我有一个(部队)许多(成员)关系使用核心数据。我可以成功添加和删除部队。核心数据子tableview不刷新
一旦创建了部队,当我从一个tableview中点击一个部队时,它会加载该部队成员的新表。我可以成功添加到正确的队伍作为父母的成员表。使用NSLog,我可以看到该成员被添加。但是,成员表不会重新加载,并且新成员不会保存,直到我返回并添加新的部队。看起来上下文真正节省的唯一时间就是添加新队伍的时间。当增加一个新的部队时,所有增加的成员将出现在他们正确的部队下。完全关闭并重新启动应用程序不会强制保存成员。
我曾尝试添加这两种insert方法:
[self.managedObjectContext save:nil];
[self.managedObjectContext refreshObject:newManagedObject mergeChanges:YES];
我已经加入这个的controllerDidChangeContent
[self.managedObjectContext save:nil];
[self.tableView reloadData];
[[NSNotificationCenter defaultCenter] postNotificationName:@"ContextDidSave" object:self.managedObjectContext];
我已经加入这个的contextDidSave方法:
[self.managedObjectContext mergeChangesFromContextDidSaveNotification:notification];
我已将此添加到viewWillAppear方法中:
[self.tableView reloadData];
而且这viewDidLoad方法:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(contextDidSave:)
name:@"ContextDidSave" object:nil];
我肯定有它为什么不节省一些人失踪或理由。我也使用了所有的代表。
<NSFetchedResultsControllerDelegate, UINavigationControllerDelegate, UITableViewDelegate, UITableViewDataSource>
我已经尝试过我可以在stackoverflow中找到的每个示例或建议。我希望有人有新的建议。谢谢!
你设置你'NSFetchedResultsController'委托? 'fetchedController.delegate = self;' –
你使用后台线程吗? –
哦,我的天啊!这工作。我需要设置代表!你是我的英雄@flexaddicted!谢谢!! – Katie