搜索了整个互联网,但找不到我的问题的现代解决方案。我想通过 Cocoa Bindings 将 NSObjectController 与 Core Data 配对使用,并努力正确设置它。值得注意的是,我使用的是最新版本的 Xcode 和 Swift。
我做了什么:
出于测试目的,我做了以下工作:
- 创建了一个选择“使用核心数据”选项的 macOS 应用程序(该应用程序不是基于文档的);
- 将 2 个 NSTextField 拖入 Storyboard 将 NSObjectController 拖入视图控制器场景;
- 将 Employee Entity 添加到 Core Data 模型中,具有 2 个属性“name”和“surname”;
- 从如何将我的数组控制器绑定到我的核心数据模型?
- 将 NSObjectController 设置为实体模式并输入“Employee”,
- 选择准备内容,选择使用延迟获取,因此选中所有三个选项;
- 将绑定检查器中的 NSObjectController 的 Managed Object Context 绑定到 View Controller 的 managedObjectContext;
- 绑定 NSTextFields 如下:值- 对象控制器,控制器键- 选择,模型键路径- 名称(用于第一个文本字段)和姓氏(用于第二个)。
而已。
第一组问题:我做错了什么,如果不是完全错误的方法,如何解决?
我在 stackoverflow 上的一些帖子中读到,这样做可以自动保存和从核心数据模型中获取。这就是为什么我认为它应该工作。
所以这是第二组问题:这是真的吗?如果是,那么为什么在显示视图时不填充文本字段?如果不是,那么如果可能的话如何实现它(尝试编写尽可能少的代码)?
第三个问题:如果我使用了完全错误的方法,有人会帮助我使用 Cocoa 绑定连接 Core Data 和 NSObjectController 并向我展示使用正确方法编写尽可能少的代码的方法吗?
考虑到在野外没有关于这个主题的新帖子,我认为正确的答案可以帮助很多正在开发 macOS 应用程序的人。
提前致谢!