【问题标题】:Xcode adding custom dir, doesn't show in tree viewXcode添加自定义目录,不在树视图中显示
【发布时间】:2016-07-24 05:52:05
【问题描述】:

我已将dictionary 目录添加到我的 Xcode 应用项目中。

但我在左侧窗格的树视图中看不到它:

其实我不需要看它本身,我只需要它的路径将它复制到 ~/library/spelling

但我只是好奇它是否是解决这个问题的正确方法。如果它没有显示在左窗格中,我能否获得它的路径?

【问题讨论】:

    标签: swift xcode macos


    【解决方案1】:

    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
    }
    

    【讨论】:

    • 在 swift 中 url 和 path 是可互换的术语吗? URLForResource fileExistsAtPath 等?
    • @salivan 是的,您可以将url.path 属性传递给任何路径获取方法,并使用NSURL(fileURLWithPath:) 将文件路径转换为url。
    猜你喜欢
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多