2012-08-05 41 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