我正在使用 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/