0

我想知道我是否可以这样做

视图 1:在 TABLEA 上使用 NSFetchedResultsController 来检索数据,显示在表视图中并采取措施保存它

    NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:referringObject sectionNameKeyPath:nil cacheName:@"TABLEA"];

然后在 VIEW 2 中使用 SAME 表(即 TABLEA)上的 NSFetchedResultsController 来检索没有表视图的数据并返回到 VIEW 1 以保存以前的托管对象??

4

2 回答 2

1

TABLEA 不是 SQL 表。核心数据不是 SQL。在这种情况下,TABLEA 只是获取结果控制器 (FRC) 的缓存文件。在控制器之间传递相同的缓存将无济于事,因为一旦您更改任何内容,缓存就会自行刷新。原则上您可以通过 FRC 本身,但这永远不会完成,因为它会变得混乱。

托管对象实例附加到托管对象上下文,而不是获取或获取结果控制器。如果要在视图控制器之间传递托管对象,则传递对象本身。如果您想将上下文保存在不同的控制器中,那么您也可以传递上下文。提取不会进入它。

Fetches/FRC 通常特定于特定的视图控制器,因为每个视图控制器都需要以特定的排序顺序显示特定的数据子集,因此每个视图控制器都需要自定义自己的 fetch。

于 2010-09-14T13:07:25.863 回答
0

如果您使用相同的托管对象上下文,它们将返回相同的托管对象。

于 2010-09-12T13:41:24.493 回答