这是文档中的错误吗? -existingObjectWithID:error: 或 -objectWithID: 似乎声称不同的东西不匹配
Posted
技术标签:
【中文标题】这是文档中的错误吗? -existingObjectWithID:error: 或 -objectWithID: 似乎声称不同的东西不匹配【英文标题】:Is this a bug in the documentation? -existingObjectWithID:error: or -objectWithID: seem to claim different things that don't match 【发布时间】:2010-06-09 13:41:24 【问题描述】:来自文档:-existingObjectWithID:error:
如果有一个托管对象 给定的 ID 已经在 上下文,该对象被返回 直接地;否则对应的 对象错入上下文。
此方法可能会执行 I/O,如果 数据未缓存。
不同于objectWithID:,这个方法 从不返回错误。
嗯,这是悖论!
他们说 -existingObjectWithID:error: 可能会返回错误(“错误进入上下文”)。同时,他们说 -objectWithID: 确实会返回错误,但 -existingObjectWithID:error: 不会。那么现在是真的吗?两种方法描述都谈到了返回错误对象。
有人可以解决这个问题吗?
【问题讨论】:
这个问题不需要发两次。 ***.com/questions/3006394 @Emil - 这不是重复的。它提出了一个相关但不同的问题。 @Tech 同时发帖? @Emil - 它们仍然是两个独立的问题。他是否同时问他们也没关系。这就是为什么没有人投票关闭。 【参考方案1】:Faulted 并不意味着“造成故障”。它实际上意味着“创建一个完整的对象”,这与您所期望的相反。换句话说,有缺陷的对象不是缺陷。命名法令人困惑。
它的出现是因为旧 DB 时代的“触发故障”一词。在那个术语中,您犯了一个错误,即对象的幽灵并“触发”了它,从而导致它加载其属性。这从“引发错误”缩短为“错误”,天真的读者/听众会认为这意味着“造成错误”。
在训练中,我使用术语“幽灵”作为错误的同义词,使用“物化”作为错误的同义词。它有助于理清术语,同时表达了我儿时对史酷比的热爱。
【讨论】:
以上是关于这是文档中的错误吗? -existingObjectWithID:error: 或 -objectWithID: 似乎声称不同的东西不匹配的主要内容,如果未能解决你的问题,请参考以下文章