NSTextField显示没有选择' XCode 6.1中Swift中的Cocoa绑定和核心数据

时间:2014-11-03 16:22:41

标签: macos cocoa core-data swift cocoa-bindings

我无法使Cocoa绑定和核心数据发挥作用,我无法找到在哪里找到答案。

我有一个Entity核心数据实体,其text属性。

Core Data Entity

NB: 这是新的 Storyboards 基于文档的Xcode模板,所以它里面有一个View Controller,其中包含一个'窗口控制器和视图之间没有链接。此外,窗口控制器没有文件所有者'。

因此,为了能够访问文档managedObjectContext,我拖入Object并将其类设置为Document

Document Object

然后我将我的Array Controller绑定到该文档对象的managedObjectContext。这一切都是自动完成的,所以我假设它正确连接。

Array Controller Binding

编辑: 忘记包含此内容:阵列控制器设置为控制相应的实体:

Array Controller is in Entity Mode

我的视图中有一个NSTextField,我将其绑定到Array Controller的selection text属性 - 再次,这是自动完成的。

Text Field Binding

这是我的NSManagedObject子类:

class Entity: NSManagedObject {

@NSManaged var text: String

    override func awakeFromInsert() {
        self.text = "Hi"
    }

}

所以似乎所有东西都联系在一起,但是当我启动应用程序时,这就是我得到的:

Result

我做错了什么? Cocoa绑定是部分,核心数据部分还是我没有正确使用的其他内容?

我的解释是,虽然一切都是正确绑定的,但NSManagedObject要么没有被创建,要么在阵列控制器可以看到之后创建它。我认为这个模板的重点在于它为你设置了一切。

如果您告诉我阅读Apple的文档,请指出正确的起点,因为我花了两天时间研究相关的类引用,核心数据和基于文档的应用程序指南,以及Cocoa Bindings文档而且我无法弄清楚我做错了什么。

0 个答案:

没有答案