2009-09-07 31 views
1

我有一個基於文檔的核心數據應用程序。我的主要核心數據實體有幾個字符串字段,其中大多數綁定到NSTextFields,但一個綁定到NSTextView。核心與子視圖和多個NIB的數據綁定

我正在使用Hillegass書中解釋的視圖切換技術(使用多個視圖控制器)。我所有的子視圖都由一個ManagedViewController控制,它是我的NSViewController的子類,它有一個managedObjectContext字段。

我的子視圖存在於單獨的nib文件中。出於某種原因,我在該筆尖中設置的綁定不起作用 - 但是如果我在主筆尖文件中以完全相同的方式設置了小工具和綁定,它們就可以正常工作。

見圖片:

Screenshot http://img180.imageshack.us/img180/3391/screenshot.gif

在主筆尖文件,我有一棵樹控制器,其managedObjectContext勢必文件擁有者的MOC(文件的所有者是myDocument中)。 NSTextField的值(是,值 - 它不是富文本)綁定到treeController.selection.content(其中內容是實體的字符串屬性)。沒問題。這工作正常。

在第二個nib文件中,我有另一個樹控制器,其managedObjectContext綁定到文件的所有者的mOC(文件的所有者是我的ManagedViewController)。 NSTextField的值的綁定方式與上面相同。

在我的代碼中,我已經測試確保兩個managedObjectContexts引用同一個對象。他們這樣做,而不是零。

我沒有得到一個錯誤 - 只是這些值不會與子視圖中的NSTextView綁定。他們總是零。

此外,我試過NSTextFields - 同樣的問題。

有關如何使核心數據綁定與子視圖和多個NIB良好地配合的任何想法?

回答

2

你有兩個樹形控制器。每個人都有自己的選擇知識。嘗試將兩個樹控制器中的selectionIndexPaths綁定到文檔的屬性(您需要提供一種通過視圖控制器訪問的方法)。

+0

感謝您的建議,但我有點(非常混亂)。我的文檔如何能夠告訴樹控制器關於當前的選擇?據我瞭解,選擇只存在於樹控制器和大綱視圖。 –

+0

您可以將文檔添加到文檔以保存這些索引路徑。請記住,你不只有一棵樹控制器,你有兩個樹控制器,每個控制器都有自己的想法。這就是爲什麼你需要提供他們兩個一些共同的對象來保存這些信息。您的文檔是我要爲該角色指定的對象。 –

+0

彼得 - 謝謝,它結束了工作。我以爲我誤解了你所說的話,這就是爲什麼它仍然無法正常工作,但這是另一個錯誤(或三個)的責任。 –