这可能很容易,但我无法解决这个问题 - 也许已经很晚了。我有一个简单的程序,它从NSTextView
获取文本并将其保存为rtf
。保存文本本身很有用,我无法弄清楚如何获取要标记的属性。
代码:
NSAttributedString *saveString = [[NSAttributedString alloc]
initWithString:[textView string]];
NSData *writeResults = [saveString
RTFFromRange:NSMakeRange:(0, [saveString length])
doumentAttributes:?? ];
[writeResults writeToURL:[panel URL] atomically: YES];
我知道NSDictionary
需要documentAttributes
,所以我如何从视图中获取该内容?
我错过了什么?
答案 0 :(得分:0)
您似乎在询问textView的字符串属性。您需要询问它的attributionString属性:
NSAttributedString *saveString = textView.attributedString;
您可以从以下属性字符串中获取属性:
NSMutableDictionary *allAttributes = [[NSMutableDictionary alloc] init];
[saveString enumerateAttribuesInRange:NSMakeRange(0,saveString.length) options:NSAttributedStringEnumerationReverse usingBlock:^(NSDictionary *attrs, NSRange range, BOOL *stop) {
[allAttrubutes addEntriesFromDictionary:attrs];
}];
NSData *writeResults = [saveString.string RTFFromRange:NSMakeRange(0,saveString.length) documentAttributes:allAttributes];
我已经使用这种方法多次获取属性但是我从未保存到RTF,所以我不知道具体如何。但是,所有属性都将出现在字典中。