导入文件 - 从NSOpenpanel到textview - cocoa for Mac app

时间:2014-11-17 12:01:24

标签: cocoa uitextview nsopenpanel

如何将所选文件(txt)从nsOpenPanel导入textView或其他View?

感谢' S 莫罗

1 个答案:

答案 0 :(得分:0)

关于研究

如果您打算将软件开发成不仅仅是一种爱好,那么真的需要研究您的研究技能。从您的问题和我们在评论中的谈话中可以看出,您没有完成作业,而是在每一盎司的生命中积极抵制它。你知道如何从开放面板获取路径,你知道NSString,因为你说你在NSArray中有一个,并且你知道你想要它在文本视图中(NSTextView),但你想要找到“方法”文档。我在评论中告诉你的是:阅读每个相关课程的文档。没有捷径;没有替代路线 - 您必须使用您平台的参考资料(“阅读文档”)并熟悉您打算使用的类。当然,可能需要花费几分钟到几个小时才能了解API的一部分,但除非您想雇佣某人为您完成这项工作,否则这部分就是您的工作,而您只需要这样做

示例

如果你可以陈述你的目标,你可以研究你的方式。您有一个NSString路径,并且您希望将其(字符串)内容加载到文本视图中。如果您阅读了字符串和文本视图的Cocoa文档,您可以轻松找到允许您1)使用路径或URL的内容创建NSString实例的方法,2)将该字符串传递给NSTextView实例。类引用文档的侧边栏甚至可以通过常见任务对类方法进行分类。有用!从那里你可以开始拼凑一些代码:

// Get one path (because you have only one text view, right?)
NSString * path = myPaths.firstObject;

// Try to load its contents
NSError * error = nil;
NSStringEncoding encoding;
NSString * fileContents = [NSString stringWithContentsOfFile:path usedEncoding:encoding error:error];
if (fileContents)
{
  // Yay!
  [myTextView setString:fileContents];
} else {
  // Boo!
  [myTextView setString:@""];
  NSLog(@"Error loading %@. Underlying error: %@", path, error);
}

......你走了。安全检查等等。