我有一个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。
为什么“数据”为零?
答案 0 :(得分:2)
来自the docs:
数据
包含格式化文本的NSData实例 NSTextView。
NSData包含RTF或RTFD表示 NSTextView内容,具体取决于NSTextView的配置。
此绑定仅在配置NSTextView时可用 允许多种字体。 (强调添加)
换句话说,您必须启用Rich Text支持才能使用此绑定。如果您只想绑定普通字符串,请使用value
绑定或使用attributedString
绑定而不是data
来使用属性字符串。