2014-10-09 21 views
0

如果磁盤上的每個文檔都對應一個實體實例,那麼使用核心數據的最佳方式是什麼?每個NSPersistentDocument有一個核心數據實體?

我有一個實體的數據模型文件,該實體具有名稱text和類型Text的一個屬性。

我有一個Document.xib,它有一個NSObjectController,它被設置爲'實體'模式,並從文件的所有者那裏獲得managedObjectContext。我有一個NSTextField綁定到控制器鍵'選擇'的對象控制器和'鍵路徑'文本。' (這只是一個測試,所以我可以找出核心數據是如何工作的,但是我的最終應用程序也將只有一個實體實例每個文檔)

當我創建一個新文檔時,文本字段顯示'沒有選擇'並且被禁用。

我想如果我有一個表視圖或其他類型的方式來選擇實體實例之間的選擇會起作用,但我不也不想。我怎樣才能掛鉤NSObjectController只有一個實體實例,並自動'選擇'它?

預期的行爲是我在NSTextField中輸入內容,點擊保存,關閉文檔,重新打開文檔,文本字段中的字符串仍然存在。

這可能是一個非常基本的問題,但我找不到任何教程或文檔來解決這個看似簡單的用例。

回答

0

好的,以及我還沒有弄清楚這一切,但我的特殊問題是由於沒有創建任何東西而引起的。我換了NSObjectController了一個NSArrayController,在Document.m創建了一個出口爲它並添加這windowControllerDidLoadNib

if (![self.arrayController selectedObjects]) { 
    [self.arrayController add:@""]; 
}; 

現在看來只是管理一個實體對象。