【发布时间】:2016-07-24 05:52:05
【问题描述】:
我已将dictionary 目录添加到我的 Xcode 应用项目中。
但我在左侧窗格的树视图中看不到它:
其实我不需要看它本身,我只需要它的路径将它复制到 ~/library/spelling
但我只是好奇它是否是解决这个问题的正确方法。如果它没有显示在左窗格中,我能否获得它的路径?
【问题讨论】:
我已将dictionary 目录添加到我的 Xcode 应用项目中。
但我在左侧窗格的树视图中看不到它:
其实我不需要看它本身,我只需要它的路径将它复制到 ~/library/spelling
但我只是好奇它是否是解决这个问题的正确方法。如果它没有显示在左窗格中,我能否获得它的路径?
【问题讨论】:
Xcode 中的标准树视图不是底层目录结构的直接映射。 Xcode 使用“组”,它们是项目导航器中的黄色文件夹,可以是文件系统中的目录,但不一定是。
如果您想将新文件添加到项目中,只需打开一个 Finder 窗口并将它们从 Finder 拖到项目导航器中。当您将它们放入时,您将看到一个对话框,请确保将文件添加到您的 fish 目标中。这就是使实际被复制到构建的应用程序中的原因。
如果您想让 Xcode 显示目录结构的直接翻译,您可以将 fish/dictionary 文件夹拖到项目导航器中,然后选择“创建文件夹引用”而不是创建组。这将用一个蓝色文件夹图标表示,并将与目录保持同步。
另外,您知道,这些文件不会在library 或类似的任何地方。您将通过向主包询问该资源的 url 来加载它们,如下所示:
if let url = NSBundle.mainBundle().URLForResource("ka_GE", withExtension: "aff") {
// found url for resource
}
请注意,如果您在项目中将字典文件夹作为文件夹引用拖入,则必须像这样调用它:
if let url = NSBundle.mainBundle().URLForResource("ka_GE", withExtension: "aff", subdirectory: "dictionary") {
// found url for resource
}
【讨论】:
url.path 属性传递给任何路径获取方法,并使用NSURL(fileURLWithPath:) 将文件路径转换为url。