使用NSData在NSTextView中设置Text

时间:2010-07-02 05:34:37

标签: objective-c xcode macos nsdata nstextview

我有一个NSData实例,我是从我之前的应用程序运行中存储的。我想使用这些数据设置NSTextView的文本。它是RTF,我无法弄清楚如何做到这一点。任何想法或建议?它需要使用代码而不是Interface Builder来完成。

由于

4 个答案:

答案 0 :(得分:9)

//First convert a NSData object to a NSString object.

NSData *aData;
//assign aData to what you want it to.
NSAttributedString *aStr;
aStr = [[[NSAttributedString alloc] initWithRTF:aData documentAttributes:NULL] autorelease];
//then set the textView to that value.

[[yourTextView textStorage] setAttributedString:aStr];

答案 1 :(得分:2)

NSData *myData; // RTF data
NSAttributedString *myString = [[NSAttributedString alloc] initWithRTFD:myData documentAttributes:NULL];

[[yourTextView textStorage] setAttributedString:myString];

thyrgle已关闭,但NSAttributedString需要使用

initWithRTFD: documentAttributes:
而不是
initWithRTF: documentAttributes:

进行初始化

答案 2 :(得分:0)

您可以使用RTF数据初始化NSAttributedString,NSTextView拥有的NSTextStorage来自NSMutableAttributedString。我想你可以把它们拼凑起来。

答案 3 :(得分:0)

检查你是否在textfield或uiview上实现了任何类别?(在你实现类别的任何内置ui中)如果是,则删除该类别并再次检查。