我无法使Cocoa绑定和核心数据发挥作用,我无法找到在哪里找到答案。
我有一个Entity
核心数据实体,其text
属性。
NB: 这是新的 Storyboards 基于文档的Xcode模板,所以它里面有一个View Controller,其中包含一个'窗口控制器和视图之间没有链接。此外,窗口控制器没有文件所有者'。
因此,为了能够访问文档managedObjectContext
,我拖入Object
并将其类设置为Document
。
然后我将我的Array Controller绑定到该文档对象的managedObjectContext
。这一切都是自动完成的,所以我假设它正确连接。
编辑: 忘记包含此内容:阵列控制器设置为控制相应的实体:
我的视图中有一个NSTextField,我将其绑定到Array Controller的selection
text
属性 - 再次,这是自动完成的。
这是我的NSManagedObject
子类:
class Entity: NSManagedObject {
@NSManaged var text: String
override func awakeFromInsert() {
self.text = "Hi"
}
}
所以似乎所有东西都联系在一起,但是当我启动应用程序时,这就是我得到的:
我做错了什么? Cocoa绑定是部分,核心数据部分还是我没有正确使用的其他内容?
我的解释是,虽然一切都是正确绑定的,但NSManagedObject要么没有被创建,要么在阵列控制器可以看到之后创建它。我认为这个模板的重点在于它为你设置了一切。
如果您告诉我阅读Apple的文档,请指出正确的起点,因为我花了两天时间研究相关的类引用,核心数据和基于文档的应用程序指南,以及Cocoa Bindings文档而且我无法弄清楚我做错了什么。