使用coredata构建函数的首选方法是什么?

时间:2015-09-16 09:27:44

标签: ios objective-c core-data

有关coredata的教程,或者关于如何开始使用coredata或如何使用特定部分的问题。

我的问题是更高层次 - 如何用coredata构建更大的项目?

  1. 项目是否应保留大部分处理托管的功能 单个类中的对象?
  2. 应该处理的功能 方法是静态的(我认为它们被称为'类方法')或 实例方法?
  3. 将托管对象传递给类是否可以 来自不同线程的方法?如果我也提供一个 该方法的上下文?
  4. 我应该只在应用程序启动时为每个实体执行一次提取,然后根据上下文执行所有搜索和插入操作,或者根据需要从提取请求中获取较小的数据集?
  5. 就博客圈而言,似乎coredata架构是狂野的西部 - 每个人都为自己。这里有任何好的设计模式吗?

1 个答案:

答案 0 :(得分:0)

没错,虽然你们中的一些问题确实是基于个人偏好。我永远不会使用一个符号。

  1. 不,是的。在类上是,以保持与上下文的连接,并且没有每个控制器都会请求自己的数据。
  2. 使用类方法要求您传递上下文或将其存储在静态中。如果需要更改上下文,使用静态可能会导致问题。
  3. 不,每个帖子都应该拥有它现在的上下文。核心数据不是线程保存。
  4. 为了节省内存,只需要获取所需内容,一次获取所有内容毫无意义。
  5. 我建议使用NSFecthResultsController来填充表格视图等内容。

    如果您要获取数据并将其存储在核心数据中,我可以建议使用单独的上下文进行插入。 Cocoanetics有一个很棒的article about multiple context setup