Mac OS更改绑定核心数据控件的值

时间:2017-03-02 00:41:28

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

我刚刚开始使用Core Data。我有一个XCode 8 Swift 3项目,带有一个带有Array Controller和几个绑定控件的表单。该表单可以完美地保存和调用Core Data中的数据。

我想在表单上放一个按钮,在一些绑定的文本框中设置值。我可以设置文本框的stringValue属性,它确实更改了显示的数据,但它不保存数据。当我移动到另一个记录然后回来时,我看到旧值。

如何设置新值以便在Core Data存储中更新?

1 个答案:

答案 0 :(得分:0)

更新阵列控制器中的数据。

测试应用:

  • 创建一个新的Xcode项目,macOS Cocoa应用程序,Swift,使用Core Data。
  • 转到MainMenu.xib并添加NSArrayController
  • 在助理编辑器中显示AppDelegate.swift,在标准编辑器中显示MainMenu.xib(或其他方式)。
  • 控制从NSArrayController拖动或右拖动到@IBOutlet weak var window: NSWindow!下方的行以创建插座。

在阵列控制器中设置数据的示例:

for person in arrayController.selectedObjects as! [Person] {
    person.name = "John"
    person.address = "Street 1"
}

PersonNSManagedObject子类。 nameaddress是文本框中显示的属性。