gpt4 book ai didi

ios - returnsObjectsAsFaults 的目的是什么

转载 作者:可可西里 更新时间:2023-11-01 06:21:29 25 4
gpt4 key购买 nike

我不太明白“returnsObjectsAsFaults”的用法。文档说:

A Boolean value that indicates whether the objects resulting from a fetch using the receiver are faults.

YES if the objects resulting from a fetch using the receiver are faults, otherwise NO. The default value is YES. This setting is not used if the result type (see resultType) is NSManagedObjectIDResultType, as object IDs do not have property values. You can set returnsObjectsAsFaults to NO to gain a performance benefit if you know you will need to access the property values from the returned objects.

By default, when you execute a fetch returnsObjectsAsFaults is YES; Core Data fetches the object data for the matching records, fills the row cache with the information, and returns managed object as faults. These faults are managed objects, but all of their property data resides in the row cache until the fault is fired. When the fault is fired, Core Data retrieves the data from the row cache. Although the overhead for this operation is small, for large datasets it may become non-trivial. If you need to access the property values from the returned objects (for example, if you iterate over all the objects to calculate the average value of a particular attribute), then it is more efficient to set returnsObjectsAsFaults to NO to avoid the additional overhead.

将托管对象作为故障返回是什么意思?

如果设置为 true,对象将存储在缓存中并且不可访问?

另一方面,false 会使其可访问吗?

请帮助我澄清这一点,因为我对文档的解释感到非常困惑。

let request = NSFetchRequest(entityName: "BlogItems")
request.returnsObjectsAsFaults = false

最佳答案

我今天也遇到了这个问题。

我们有一些 iPad 和 iPhone 应用程序,但今天,重建它们返回了正确数量的记录,但每个应用程序都是空的。

原因,原因,就是那面可笑的旗帜:

request.returnsObjectsAsFaults = false

让我恼火的是:

  • 这个领域从来没有“挡路”。自以前版本的 iOS 或其他版本以来,默认值是否发生了变化?
  • 这个属性的名字很荒谬。您可能希望能够将“includesPropertyValues”设置为 TRUE,这足以包含属性值。
  • 甚至 Apple 自己的 CoreData 示例代码也没有提到这个(基本)设置,因此即使是初学者也会想知道为什么他们基于 Apple 示例的代码不起作用。

Apple: Fetching objects from CoreData

  • Apple 的文档声称“错误处理是透明的——您不必执行提取来发现错误。如果在某个阶段访问错误对象的持久属性,Core Data 会自动检索数据为对象并初始化对象。”真是一堆​​垃圾。这根本不是真的。

Apple: Faulting and Uniquing

我非常讨厌 Xcode,而且每个版本似乎都给你更多讨厌它的理由。在撰写本文时,Xcode 在 App Store 的平均评分仅为 2 星,Apple 似乎无视用户对其糟糕程度的提示。

总之,吐槽一下。 Here's a link到描述 returnsObjectsAsFaultsincludesPropertyValuessecond link 之间差异的 StackOverflow 文章详细介绍如何在 iOS 编程中生存。

顺便说一句,有人知道 Apple 目前是否在招聘吗?这篇文章在我的简历上会很好看...

关于ios - returnsObjectsAsFaults 的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34545708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com