0

我有一个(部队)许多(成员)关系使用核心数据。我可以成功添加和删除部队。核心数据子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中找到的每个示例或建议。我希望有人有新的建议。谢谢!

+0

你设置你'NSFetchedResultsController'委托? 'fetchedController.delegate = self;' –

+0

你使用后台线程吗? –

+0

哦,我的天啊!这工作。我需要设置代表!你是我的英雄@flexaddicted!谢谢!! – Katie

回答

0

从我的评论

你设置你NSFetchedResultsController委托?

fetchedController.delegate = self;

相关问题