iphone - CoreData 有什么不同

标签 iphone objective-c ios core-data

我正在使用 coredata 框架。现在我有一个问题:
我在 [1:n]Order 对象之间有关系 OrderDetail
在第一个 TableView 中,我使用 NSFetchedResultsController 来获取 Order 的列表。
我的问题是 如何计算每个 Ordertail Order

- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath

我得到了 Order 对象。称它为父对象。

计算 OrderDetail 的好方法是什么:
  • NSFetchRequest 与谓词 "Order == %@' 和 parent_Object 一起使用。然后我计算结果获取的数组。
  • 使用属性:parent_Object.OrderDetails.count

  • 有什么区别以及哪种方式可以节省执行时间。
    请帮帮我。

    最佳答案

    一般来说,从核心数据中获取是一项昂贵的工作。但是,在这两种情况下,您都不应该真正遇到任何性能问题。要回答您的问题,您应该使用该属性,因为不需要获取或谓词。仅当您过滤掉某些对象时才使用谓词。所以你在这两种方法中所做的是

  • 创建一个谓词并使用它来获取所有 Order数组中的对象。然后,调用 count 得到 OrderDetails 的总数。对于 Order .
  • 您已经拥有一组托管对象并对其调用计数。

  • 因此,从逻辑上讲,第二种方式更快,因为您不进行任何获取。但对于小项目来说,这真的不重要。如果您有大量对象并且只想对结果进行采样,您可以随时调用 setFetchLimit:在你获取它之前的请求。

    关于iphone - CoreData 有什么不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8584545/

    相关文章:

    iphone - UIImage size.width 返回高度?

    objective-c - 在 Objective-C 类中导入 Swift 协议(protocol)

    ios - Flutter 项目未在 iOS 上运行(尝试 2)

    ios - 从不同的 ViewController iOS 更新 UITextField

    ios - 我应该选择哪一个,子类化或类别

    iphone - 我们可以从 comp 访问 iPhone 的屏幕吗?

    objective-c - 我可以设计一个与另一个应用程序交互的iOS应用程序吗?

    iphone - 检查 iPhone 中的网络可达性后应用程序崩溃?

    iphone - typedef 结构的内存泄漏

    iphone - 当 UIViewController 推送时显示 UITabBar