2012-01-06 61 views
0

我正在嘗試編寫一個非常簡單的核心數據OS X應用程序。簡單核心數據應用程序無法讀取核心數據模型密鑰

這是我到目前爲止已經完成:

  1. 創建一個名爲PortalMan一個新的核心數據的應用程序。這也創建了NSAppDelegate,稱爲PortalManAppDelegate
  2. 轉到PortalMan.xcdatamodeld數據模型,並創建一個名爲Repo的新實體,並具有三個屬性:active,branchpathactive是一個布爾值,另外兩個是字符串。
  3. 公開賽MainMenu.xib
  4. 將新NSArrayController到文檔空間
  5. NSArrayController的屬性選項卡界面編輯器,設置「模式」到「實體名稱」,並設置「實體名稱」屬性作爲「回購」
  6. 選中「準備內容」框
  7. NSArrayController的綁定選項卡上,選擇託管對象上下文綁定。啓用它並將其綁定到「Portal Man App Delegate」。
  8. 將「Model Key Path」設置爲「managedObjectContext」。
  9. 將表視圖拖動到窗口
  10. 添加一列,並在其「值」綁定中設置「綁定到:數組控制器」,將「控制器關鍵字」設置爲「排列物體」和「模型關鍵路徑「到」分支「

我還添加了一個按鈕並將其綁定到陣列控制器的add方法。

當我嘗試運行我的申請,我得到這個錯誤:

2012-01-06 16:01:43.650 PortalMan[656:707] An uncaught exception was raised 
2012-01-06 16:01:43.651 PortalMan[656:707] [<NSApplication 0x100401750> valueForUndefinedKey:]: this class is not key value coding-compliant for the key branch. 

這讓我覺得這不是適當的抓住我的核心數據「回購」的模式,因爲「回購」 確實有「分支「屬性。

對此有何想法或如何調試?

謝謝!

+0

再次閱讀錯誤消息:回購可能有分支屬性,但應用程序對象沒有。您試圖獲取應用程序對象的分支,而不是回購,這就是爲什麼它失敗了。 – 2012-01-06 23:33:35

回答

0

我在某個時候意外地選擇了「Content Array」綁定。

我刪除了該綁定,並且所有的工作都像我現在所期望的那樣完美。

謝謝!希望這可以幫助別人。如果你有這樣的問題:審查你的NSArrayController上的所有綁定!