2013-06-02 24 views
3

我花了一天多時間試圖找到一個簡單的例子,說明如何使用NSObjectController與核心數據進行綁定。所有示例都是NSArrayControllersNSTableView綁定。如何將NSObjectController與Core Data一起使用?

你將如何設置一個簡單的NSObjectController核心數據來自動保存和獲取數據?比方說,你想要綁定一個字符串屬性的實體文本字段,你會怎麼做?

回答

5

以下是界面構建器的基礎知識。

  1. 將通過一個nstextfield到視圖(從對象庫)

  2. 將在nsobjectcontroller(同樣)

  3. 打開綁定檢查器。 Option-Cmd-7或View/Utilities/BindingsInspector。

  4. 選擇上面的nsobjectcontroller。在BindingsInspector中,靠近底部的是ManagedObjectContext的參數。點擊「綁定到」旁邊的複選框,然後選擇File'sOwner(從下拉菜單中選擇)文件的所有者可能是你的NSDocument將ModelKeyPath設置爲managedObjectContext(注意小寫'm')

  5. 將實用程序視圖設置爲AttributesInspector(Open-Cmd-4)。將模式從「類」設置爲「實體」,鍵入您的BusinessObject或Model名稱的名稱,如「Employee」。 nstextfield。在BindingsInspector中,選擇「Value」。勾選「綁定到」並選擇上面的nsobjectcontroller(從下拉菜單中)

  6. 對於CONT滾輪鍵選擇「選擇」。

  7. 對於MODEL KEY PATH,請選擇「name」之類的模型屬性(但不是關係)。

現在通過添加第二個控制器nsarraycontroller來實驗。這些都綁定到關係,而不是屬性。因此,陣列有多個「內容集」,而不是單一的「內容」。它的價值沒有任何關係有底層的NSSet,而所有的屬性都是NSObject的子類。沒有int,float。但是NSNumber,NSString。

  1. 選擇新的nsarraycontroller。在內容集中選擇「綁定到」。選擇第一個nsobjectcontroller。 CONTROLLER KEY是「選擇」,而MODEL KEY PATH是關係名稱,如「employees」

  2. 設置NSTableView,有幾列。 (一張桌子有許多行,可容納集合中的物品,並且有列以容納實體中的各種屬性)

  3. 選擇一個表格列。選擇「綁定到」並選擇nsarraycontroller。

  4. 這次CONTROLLER KEY是「arrangeObjects」(不是選擇)。 MODEL KEY PATH只是一個屬性名稱,如「name」。

注意的NSNumber和NSDate的喜歡NSFormatters所以拖動這些(從對象庫)到的NSTextField或表列從數量和日期轉換爲一個不錯的字符串。

+1

偉大的答案..我希望我知道如何適應這個只有一個記錄。 –

相關問題