NSTextView“数据”绑定问题

时间:2011-09-20 11:59:03

标签: macos cocoa

我有一个NSTextView textView将其“数据”绑定到“内容”属性

textView的富文本支持已关闭。

当textView的内容发生变化时,我的“数据”为零,尽管它的字符串和rtf可用。

- (NSData*)content ;

- (void)setContent:(NSData *)data;
{
    NSString* s = [textView string];
    NSData* rtf = [textView RTFDFromRange:NSMakeRange(0, [s length])];
// data == nil
// s != nil
// rtf != nil
}
如果我启用textView的富文本支持,

“data”不是nil。

为什么“数据”为零?

1 个答案:

答案 0 :(得分:2)

来自the docs

  

数据

     

包含格式化文本的NSData实例   NSTextView。

     

NSData包含RTF或RTFD表示   NSTextView内容,具体取决于NSTextView的配置。

     

此绑定仅在配置NSTextView时可用   允许多种字体。 (强调添加)

换句话说,您必须启用Rich Text支持才能使用此绑定。如果您只想绑定普通字符串,请使用value绑定或使用attributedString绑定而不是data来使用属性字符串。