首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误消息NSData

错误消息NSData
EN

Stack Overflow用户
提问于 2013-10-07 09:28:37
回答 2查看 235关注 0票数 0

我需要在RTF file中显示UITextView。我的代码如下所示:

我的.h文件:

代码语言:javascript
复制
@property (strong, nonatomic) IBOutlet UITextView *creditsTextView;

我的.m文件

代码语言:javascript
复制
@synthesize creditsTextView;

- (void)viewDidLoad {
    [super viewDidLoad];

    NSData *creditsData = [[NSBundle mainBundle] pathForResource:@"Credits" ofType:@"rtf"];

    NSAttributedString *attrString;
    NSDictionary *docAttributes;

    attrString = [[NSAttributedString alloc]
                  initWithRTF: creditsData documentAttributes: &docAttributes];
}

这段代码提供了以下错误消息:

在…

代码语言:javascript
复制
*creditsData : Incompatible pointer types 'NSData *' with expression of type 'NSString *'

和在

代码语言:javascript
复制
initWithRTF : No visible @interface for 'NSAttributedString' declares the selector 'initWithRTF:documentAttributes:'

我如何纠正这两个错误?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-07 09:38:04

[[NSBundle mainBundle] pathForResource:返回NSString类型,请参阅NSBundle类引用,因此不能直接用NSString分配NSData,因此可以使用不同的初始化项将返回的URL传递给NSData。

NSAttributedString没有一个名为initWithRTF的init方法。这就是你看到错误的原因。

票数 0
EN

Stack Overflow用户

发布于 2013-10-07 09:33:55

这种方法:

代码语言:javascript
复制
NSString *path = [[NSBundle mainBundle] pathForResource:@"Credits" ofType:@"rtf"];

返回文件所在的路径。

如果在您有了路径之后,您想要读取该文件,请使用以下命令:

代码语言:javascript
复制
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path]];

在这里找到文档:

NSBundle类引用

NSData类引用

而且,在InitWithRTF中没有NSMutableAttributedString方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19221215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档