我正在开发一个文本编辑器,我想添加RTFD支持。将RTFD文件类型添加到我的Info.plist后,我收到消息"readFromFileWrapper:ofType:error:必须被覆盖,您的应用程序才能处理文件包。“
我看了一下文档,发现了一些东西,但我没有设法做everything..Could有人这么好,请帮助我好吗?
- (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; }任何帮助都是用来表示的:)
发布于 2010-02-16 02:30:55
幸运的是,RTFD是一个特别简单的方法。查看NSText的readRTFDFromFile:和writeRTFDToFile:atomically:方法。
从NSText Class Reference
readRTFDFromFile:
尝试读取路径中的RTFD文件,如果成功则返回YES,否则返回NO。
- (BOOL)readRTFDFromFile:(NSString *)path
讨论
路径应该是.rtf文件或.rtfd文件包装的路径,而不是.rtfd文件包装中的RTF文件的路径。
如果你来自NSURL,可以这样做:
[textView readRTFDFromFile:[[self fileURL] path]];为了安全起见,请先调用[[self url] isFileURL]。
发布于 2010-02-16 20:34:19
我尝试了你的代码片段,并获得了以下结果:
NSDocument窗口已打开,标题已更新为RTFD文件的名称,但NSTextView仍然为空。
我非常确信我的代码可以打开它,因为我从NSDocument实例中获取了URL,将其转换为NSString并将其发送到textview……
if ([typeName isEqualToString:@"Rich Text with Attachments"]) {
NSString *urlString = [[self fileURL] absoluteString];
NSLog(@"%@",urlString);
[textView readRTFDFromFile:urlString];
return YES;
}日志返回以下内容:
file://localhost/Users/David/Documents/Coursework/Geography%20Coursework.rtfd/所以它应该起作用了?
https://stackoverflow.com/questions/2268052
复制相似问题