1

我们有一个我正在更新的应用程序,它还涉及重组和扁平化 CoreData 模型。一切都很好,但是当我尝试在 CoreData 中设置一些属性时,它抱怨有问题的属性设置为“只读”并且无法生成任何 setter 方法。

无论我在哪里看,我都无法在 Core Data 建模器中找到任何地方来标记该属性,也无法确定 mogenerator 是否故意以这种方式生成它。

有谁知道该属性在哪里标记为“只读”?

更新

我已经找到了问题所在,它与 Core Data 或 mogenerator 无关。它实际上与它定义了一个协议有关,该协议具有标记为只读的相同名称属性。这个 SO question中也提到了现在才弹出的原因。我已经删除了可能会使人们感到困惑的有关同步服务的额外信息。

我将添加一个答案,说明我知道使用 mogenerator 将 Core Data 对象设置为只读的唯一方法,因为这是对这个问题的答案。仍然可以回答任何其他方法来做到这一点。

4

1 回答 1

2

这个问题与 Core Data 或 mogenerator 无关。有关详细信息,请参阅我更新的问题。

也就是说,mogenerator 确实提供了一种方法来标记 Core Data 实体属性,如readonly添加 User Info 键(具有任何值):

mogenerator.readonly

在 github 上的 v1.27 更改历史中也提到过。

于 2013-06-10T10:28:19.913 回答