Jas*_*ade 3 macos cocoa core-data cocoa-bindings nsobjectcontroller
我花了一天多的时间试图找到一个如何使用NSObjectControllerfor binding和核心数据的简单示例.所有示例都NSArrayControllers带有NSTableView绑定.
您如何设置一个简单NSObjectController的核心数据来自动保存和获取数据?假设您想要将具有字符串属性的实体绑定到文本字段,您将如何执行此操作?
以下是"界面"构建器中的基础知识.
将其nstextfield拖入视图(从对象库)
拖过nsobjectcontroller(同样)
打开绑定检查器.Option-Cmd-7或View/Utilities/BindingsInspector.
选择以上nsobjectcontroller.在BindingsInspector中,底部附近是ManagedObjectContext的参数.单击"绑定到"旁边的复选框.然后选择File'sOwner(从下拉列表中).文件所有者可能是您的NSDocument.将ModelKeyPath设置为managedObjectContext(注意小写'm')
现在将Utility视图切换到AttributesInspector(Open-Cmd-4).将模式从"类"设置为"实体".键入BusinessObject或Model名称.比如"员工".
选择你的新nstextfield.在BindingsInspector中,选择"值".选中"绑定到"并选择上面的nsobjectcontroller(从下拉列表中).
对于CONTROLLER KEY,选择"选择".
对于MODEL KEY PATH,选择一个模型属性(但不是关系),如"name".
现在通过添加第二个控制器nsarraycontroller进行实验.它们与关系紧密相关,而不是属性.因此,阵列具有多个"内容集",而不是单个"内容".它没有任何关系具有底层NSSet,而ALL属性是NSObject的子类.没有int,浮动.但NSNumber,NSString.
选择新的nsarraycontroller.在内容集中选择"绑定到".选择第一个nsobjectcontroller.CONTROLLER KEY是"选择",而MODEL KEY PATH是关系名称,如"雇员"
设置NSTableView,包含多个列.(一个表有许多行,可以容纳集合中的项目,并且具有适应实体中各种属性的列)
选择一个表列.选择"绑定到"并选择nsarraycontroller.
这次CONTROLLER KEY是"arrangeObjects"(不是选择).MODEL KEY PATH只是一个属性名称,如"name".
请注意,NSNumber和NSDate更喜欢NSFormatters,因此将它们(从对象库)拖到nstextfield或table列中,以将数字和日期转换为nice字符串.
| 归档时间: |
|
| 查看次数: |
1191 次 |
| 最近记录: |