2011-09-20 57 views
0

我有一个NSTextView的TextView约束其“数据”到“内容”属性NSTextView“数据”绑定问题

的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的富文本支持,“数据”不是零。

为什么“数据”无?

回答

2

the docs:包含 NSTextView的格式化文本

数据

一个NSData实例。

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

此绑定仅在NSTextView配置为允许多种字体的 时可用。(加着重号)

换句话说,你必须在富文本支持使用此绑定。如果您只想绑定一个纯字符串,请使用value绑定或属性字符串使用attributedString绑定而不是data

+0

我想简单地保存数据,所以我使用NSData而不是NSAttributedString,我必须将其转换为/从NSData。 – user486134