Core data 核心数据关系如tableView所示

Core data 核心数据关系如tableView所示,core-data,ios4,nsfetchrequest,relationships,Core Data,Ios4,Nsfetchrequest,Relationships,我正在开发一个应用程序,其中的tableview显示核心数据表的内容。 数据模型如下所示: 实体(名称、代码)->>翻译(文本、代码) 我使用常用的NSFetchedResultsController检索所有实体,但现在是填充每一行的时候了(通过tableview cellForRowAtIndexPath:),我必须深入每个实体,根据用户输入的代码检索两个翻译。我正在使用一个NSFetchRequest来实现这一点,但我想知道这样做是否正确(每次填充一行时都有一个fetchrequest)。

我正在开发一个应用程序,其中的tableview显示核心数据表的内容。 数据模型如下所示: 实体(名称、代码)->>翻译(文本、代码)

我使用常用的NSFetchedResultsController检索所有实体,但现在是填充每一行的时候了(通过tableview cellForRowAtIndexPath:),我必须深入每个实体,根据用户输入的代码检索两个翻译。我正在使用一个NSFetchRequest来实现这一点,但我想知道这样做是否正确(每次填充一行时都有一个fetchrequest)。 本能地,我会在NSFetchedResultsController中检索我需要的所有数据,而不是每次填充单元格时都搜索每个翻译,但我不知道如何进行。
有人有什么建议吗,或者有什么有趣的链接吗?

如果每个单元格都必须显示与每个实体对象相关的转换对象,那么您只需要从获取的实体对象到相应的转换对象遍历关系

获取实体对象后,构建表以显示它们,然后访问每个单元格行的转换中的值,如下所示:

NSSet *translations=[anEntityObject valueForKey:@"translations"];
。。。它为tableview行表示的实体对象返回一组转换对象


一般来说,每个tableview只执行一次获取。应将表视图配置为显示与一个特定实体相关的数据

这正是我正在做的,只是感觉记忆很昂贵。感谢@TechZen的确认。有人有不同的看法吗?我描述的模式是90%的应用程序都会使用的方式,这是你绝对应该开始使用的方式。NSFetchedResultController非常适合内存使用。除非您的表有1000多行,否则这很少是一个问题。如果确实存在内存问题,请参阅《核心数据编程指南》,了解更改获取以控制内存的方法。然而,记住Knuth的格言,“过早优化是万恶之源。”不要浪费时间试图避免你可能永远不会遇到的问题。编写、测试,然后优化。尤其是在学习一个新的API时,“过早优化是万恶之源。”这是一个好主意!