Ios 返回错误的目的是什么

Ios 返回错误的目的是什么,ios,core-data,Ios,Core Data,我真的不明白“returnsObjectsAsFaults”的用法。 文件说: 一个布尔值,用于指示使用接收器获取的对象是否为错误 如果使用接收器获取的对象出现故障,则为“是”,否则为“否”。默认值为“是”。如果结果类型(请参见resultType)为NSManagedObjectDresultType,则不使用此设置,因为对象ID没有属性值。如果您知道需要从返回的对象访问属性值,可以将returnsObjectsAsFaults设置为NO以获得性能优势 默认情况下,当执行fetch RETUR

我真的不明白“returnsObjectsAsFaults”的用法。 文件说:

一个布尔值,用于指示使用接收器获取的对象是否为错误

如果使用接收器获取的对象出现故障,则为“是”,否则为“否”。默认值为“是”。如果结果类型(请参见resultType)为NSManagedObjectDresultType,则不使用此设置,因为对象ID没有属性值。如果您知道需要从返回的对象访问属性值,可以将returnsObjectsAsFaults设置为NO以获得性能优势

默认情况下,当执行fetch RETURNSOBJECTSASSAFULTS时,默认为是;核心数据获取匹配记录的对象数据,用信息填充行缓存,并将托管对象作为故障返回。这些故障是托管对象,但在触发故障之前,它们的所有属性数据都驻留在行缓存中。触发故障时,Core Data从行缓存中检索数据。尽管此操作的开销很小,但对于大型数据集,它可能变得非常重要。如果需要从返回的对象访问属性值(例如,如果迭代所有对象以计算特定属性的平均值),则将returnsObjectsAsFaults设置为“否”更有效,以避免额外的开销

将托管对象作为故障返回意味着什么

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

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

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

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

看起来你回答了自己的问题。更多信息来自文档:

托管对象错误是相应类的实例,但 它的持久变量尚未初始化


阅读核心数据编程指南的一节。

我今天也偶然发现了这个问题

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

原因当然是那面可笑的旗帜:

request.returnsObjectsAsFaults = false
让我恼火的是:

  • 这个领域从来没有“碍事”。自以前的iOS版本或其他版本以来,默认设置是否已更改
  • 这个财产的名字很可笑。您希望能够将“
    includePropertyValues
    ”设置为TRUE,这样就足以包含属性值
  • 即使是苹果自己的CoreData示例代码也没有提到这个(基本)设置,所以即使是初学者也会想,为什么基于苹果示例的代码不起作用

  • 苹果公司的文档声称“故障处理是透明的,你不必执行提取来实现故障。如果在某个阶段访问了故障对象的持久属性,那么核心数据会自动检索该对象的数据并初始化该对象。”真是一堆垃圾。这根本不是真的

我真的很讨厌Xcode,每次发布似乎都会让你有更多的理由讨厌它。在撰写本文时,应用商店对Xcode的平均评级仅为2星级,苹果似乎忽视了用户对Xcode糟糕程度的抱怨

不管怎样,结束吧。一篇StackOverflow文章描述了
returnsObjectsAsFaults
IncludePropertyValues
之间的区别,并为您提供了如何在iOS编程中生存的详细信息


顺便说一句,有人知道苹果公司目前是否在招聘员工吗?这篇文章放在我的简历上会很好看…

谢谢,我已经阅读了给定的链接,它为我清除了它