Objective C - 在支持文件的子文件夹中获取文件路径

时间:2015-12-25 07:32:54

标签: objective-c nsbundle

我试图播放几个子文件夹中的mp3:

{
    var foo = function foo() {
        alert(3);
        return 1;
    };

    foo();
    {
        var _foo = function _foo() {
            alert(2);
            return 2;
        };

        _foo();
    }
}

如果mp3不在子文件夹中,它将播放,但它不会在子文件夹中如上所述播放。如何从子文件夹中播放mp3?

2 个答案:

答案 0 :(得分:2)

您需要使用其他方法,以便指定路径:

- (NSString *)pathForResource:(NSString *)name
                       ofType:(NSString *)extension
                  inDirectory:(NSString *)subpath

答案 1 :(得分:0)

当您将资源文件作为整个文件夹添加到项目中时,Xcode会询问您是否要:

  1. 创建论坛
  2. 创建文件夹参考
  3. 在第一种情况下,添加的文件夹在项目导航器中显示为黄色文件夹图标,并且所有包含的文件都复制到应用程序包的根目录(因此可能发生文件名冲突) 。

    在第二种情况下,添加的文件夹在Project Navigator中显示为 blue 文件夹图标(如资产目录),并且在构建二进制文件时会遵循目录结构。

    我认为在第二种情况下你可以使用NSBundle -pathForResource:ofType:inDirectory:访问子目录中的资源。

    无论哪种方式,第一个参数应该是没有任何中间子目录的文件名(如注释中提到的@DBoyer)。