【问题标题】:Array not being populated as expected in iOS project在 iOS 项目中未按预期填充数组
【发布时间】:2011-01-04 15:27:42
【问题描述】:

我有一个 iOS 项目,它的 Resources 文件夹中有一些 mp3 文件:

我想将它们添加到数组中。

以下似乎是将 mp3 添加到数组的适当方法,但是当我列出数组的内容时,它是空的?不知道我错过了什么:

NSArray *myArray = [[NSBundle mainBundle] pathsForResourcesOfType:@"mp3" inDirectory:@"Resources"];

运行以下表示数组为空:

NSLog(@"Array contents: %@", myArray);

NSLog (@"Number of elements in array = %i", [myArray count]);

【问题讨论】:

  • 您确定在您的应用程序包中确实有一个名为“Resources”的文件夹吗?看起来这只是一个“组”:一个组成 XCode 的虚拟文件夹。

标签: objective-c arrays ios


【解决方案1】:

XCode 中的 Resources 目录不是文件在设备上的最终位置。它们位于应用程序库目录的顶层。你可以使用这个函数来获取路径:

NSString *libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];

你也可以使用

NSArray *files = [[NSBundle bundle] pathsForResourcesOfType:@"mp3" inDirectory:nil];

【讨论】:

    【解决方案2】:

    问题不只是Resources 文件夹被认为是捆绑包的根吗?您是否尝试过使用 . 或与目录名称类似的名称?

    【讨论】:

      猜你喜欢
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多