2012-08-05 69 views
2

我有一個簡單的master-detail項目,其中包含一個類實例數組,一個提供特定類實例選擇的數組控件,以及一個提供數組和選擇的NSTableView。我的類有一個NSString屬性,當我將它綁定到一個NSTextField時,一切都很好。綁定到NSTextField的作品;綁定到NSTextView不?

然而,當我結合相同的屬性設置爲一個NSTextView的值路徑字段中,它的表現非常不正常:

  • 在NSTableView的條目中選擇引起NSTextView沒有變化,即使選擇對象對綁定屬性具有不同的值。

  • 沒有輸入到NSTextView中的內容被複制到選擇的屬性中。

  • 綁定的唯一明顯效果是清除NSTableView中的選擇(例如,在所有條目下面單擊)會導致NSTextView的內容消失。

任何想法?

+1

我已經回答了這個問題,作爲您上次發佈的問題的一部分。如果您需要進一步澄清,您應該對該答案發表評論,而不是轉貼。我在我的答案中使用了屬性字符串綁定 - 如果要使用值綁定(對於純字符串),您需要在綁定中顯示的選項之前取消選中IB中的富文本選項。 – rdelmar 2012-08-05 16:17:00

回答

0

valuePath綁定爲文件路徑。值綁定是針對字符串的;還有數據(RTF/RTFD)和attributesString綁定。

+1

好的,我知道我不應該使用valuePath。 但是,NSTextView在Bindings Inspector中沒有Value綁定。 它*有*具有數據綁定。當我將它綁定到一個NSString時,我的應用程序立即拋出一個異常 - 大概是因爲NSTextView想要將RTF格式的數據存儲在綁定的屬性中,而NSString不能勝任這個任務。我將我的類的綁定屬性更改爲NSData,現在它工作正常。 感謝您的幫助。 – 2012-08-05 16:04:12

+3

@DavidStein:如果你想訪問'value'綁定,你必須設置爲你的'NSTextView'取消選擇'RichText'選項。 – Colas 2013-10-15 16:24:34