首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSDocument读取RTFD数据

NSDocument读取RTFD数据
EN

Stack Overflow用户
提问于 2010-02-16 02:24:51
回答 2查看 1.4K关注 0票数 0

我正在开发一个文本编辑器,我想添加RTFD支持。将RTFD文件类型添加到我的Info.plist后,我收到消息"readFromFileWrapper:ofType:error:必须被覆盖,您的应用程序才能处理文件包。“

我看了一下文档,发现了一些东西,但我没有设法做everything..Could有人这么好,请帮助我好吗?

代码语言:javascript
复制
- (BOOL)readFromFileWrapper:(NSFileWrapper *)fileWrapper ofType:(NSString *)typeName error:(NSError **)outError {

    if ([typeName isEqualToString:@"Rich Text with Attachments"])  {   
        NSLog(@"Its RTFD");
        //it gets to here but I don't know how to load the rtfd data then :(
}

ofType:typeName]    return YES; }

任何帮助都是用来表示的:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-16 02:30:55

幸运的是,RTFD是一个特别简单的方法。查看NSTextreadRTFDFromFile:writeRTFDToFile:atomically:方法。

NSText Class Reference

readRTFDFromFile:

尝试读取路径中的RTFD文件,如果成功则返回YES,否则返回NO

- (BOOL)readRTFDFromFile:(NSString *)path

讨论

路径应该是.rtf文件或.rtfd文件包装的路径,而不是.rtfd文件包装中的RTF文件的路径。

如果你来自NSURL,可以这样做:

代码语言:javascript
复制
[textView readRTFDFromFile:[[self fileURL] path]];

为了安全起见,请先调用[[self url] isFileURL]

票数 0
EN

Stack Overflow用户

发布于 2010-02-16 20:34:19

我尝试了你的代码片段,并获得了以下结果:

NSDocument窗口已打开,标题已更新为RTFD文件的名称,但NSTextView仍然为空。

我非常确信我的代码可以打开它,因为我从NSDocument实例中获取了URL,将其转换为NSString并将其发送到textview……

代码语言:javascript
复制
if ([typeName isEqualToString:@"Rich Text with Attachments"]) {
        NSString *urlString = [[self fileURL] absoluteString];
        NSLog(@"%@",urlString);
        [textView readRTFDFromFile:urlString];

        return YES;
    }

日志返回以下内容:

代码语言:javascript
复制
file://localhost/Users/David/Documents/Coursework/Geography%20Coursework.rtfd/

所以它应该起作用了?

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

https://stackoverflow.com/questions/2268052

复制
相关文章

相似问题

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