我花了一天多時間試圖找到一個簡單的例子,說明如何使用NSObjectController
與核心數據進行綁定。所有示例都是NSArrayControllers
與NSTableView
綁定。如何將NSObjectController與Core Data一起使用?
你將如何設置一個簡單的NSObjectController
核心數據來自動保存和獲取數據?比方說,你想要綁定一個字符串屬性的實體文本字段,你會怎麼做?
我花了一天多時間試圖找到一個簡單的例子,說明如何使用NSObjectController
與核心數據進行綁定。所有示例都是NSArrayControllers
與NSTableView
綁定。如何將NSObjectController與Core Data一起使用?
你將如何設置一個簡單的NSObjectController
核心數據來自動保存和獲取數據?比方說,你想要綁定一個字符串屬性的實體文本字段,你會怎麼做?
以下是界面構建器的基礎知識。
將通過一個nstextfield
到視圖(從對象庫)
將在nsobjectcontroller
(同樣)
打開綁定檢查器。 Option-Cmd-7或View/Utilities/BindingsInspector。
選擇上面的nsobjectcontroller
。在BindingsInspector中,靠近底部的是ManagedObjectContext的參數。點擊「綁定到」旁邊的複選框,然後選擇File'sOwner(從下拉菜單中選擇)文件的所有者可能是你的NSDocument將ModelKeyPath設置爲managedObjectContext(注意小寫'm')
將實用程序視圖設置爲AttributesInspector(Open-Cmd-4)。將模式從「類」設置爲「實體」,鍵入您的BusinessObject或Model名稱的名稱,如「Employee」。 nstextfield
。在BindingsInspector中,選擇「Value」。勾選「綁定到」並選擇上面的nsobjectcontroller
(從下拉菜單中)
對於CONT滾輪鍵選擇「選擇」。
對於MODEL KEY PATH,請選擇「name」之類的模型屬性(但不是關係)。
現在通過添加第二個控制器nsarraycontroller來實驗。這些都綁定到關係,而不是屬性。因此,陣列有多個「內容集」,而不是單一的「內容」。它的價值沒有任何關係有底層的NSSet,而所有的屬性都是NSObject的子類。沒有int,float。但是NSNumber,NSString。
選擇新的nsarraycontroller。在內容集中選擇「綁定到」。選擇第一個nsobjectcontroller。 CONTROLLER KEY是「選擇」,而MODEL KEY PATH是關係名稱,如「employees」
設置NSTableView,有幾列。 (一張桌子有許多行,可容納集合中的物品,並且有列以容納實體中的各種屬性)
選擇一個表格列。選擇「綁定到」並選擇nsarraycontroller。
這次CONTROLLER KEY是「arrangeObjects」(不是選擇)。 MODEL KEY PATH只是一個屬性名稱,如「name」。
注意的NSNumber和NSDate的喜歡NSFormatters所以拖動這些(從對象庫)到的NSTextField或表列從數量和日期轉換爲一個不錯的字符串。
偉大的答案..我希望我知道如何適應這個只有一個記錄。 –