我想知道我是否可以这样做
视图1:在TABLEA上使用NSFetchedResultsController来检索数据,在表视图中显示并采取措施保存它
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:referringObject sectionNameKeyPath:nil cacheName:@"TABLEA"];
然后在VIEW 2中使用SAME表上的NSFetchedResultsController,即TABLEA来检索没有表视图的数据并返回到VIEW 1来保存以前的托管对象??
答案 0 :(得分:1)
TABLEA不是SQL表。核心数据不是SQL。在这种情况下,TABLEA只是获取结果控制器(FRC)缓存文件。在控制器之间传递相同的缓存不会做任何事情,因为只要您更改了任何内容,缓存就会自动刷新。你原则上可以通过FRC本身,但这从未完成,因为它变得混乱。
托管对象实例附加到托管对象上下文,而不附加到提取或获取结果控制器。如果要在视图控制器之间传递托管对象,则传递对象本身。如果要将上下文保存在不同的控制器中,则还要传递上下文。提取不会进入。
Fetches / FRC通常特定于特定的视图控制器,因为每个视图控制器都需要以特定的排序顺序显示特定的数据子集,因此每个视图控制器都需要自定义其自己的提取。
答案 1 :(得分:0)
如果您使用相同的托管对象上下文,它们将返回相同的托管对象。