我的xCode项目中有一个图像组。我试图从该文件夹中的所有文件到我的应用程序。
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *dirContents = [fm contentsOfDirectoryAtPath:@"/Images/" error:nil];
上面的代码总是返回一个空数组。我通过右键单击xCode 4.2中的组添加了“新组”。
答案 0 :(得分:2)
您使用的路径可能不正确。 /Images/
将引用沙箱根目录中的图片。如果文件夹中的图像作为资源添加到项目中,它们将存储在应用程序的Resources目录中,甚至可能不在Images
目录中。
您还想阅读错误以查看错误。这就是它的用途:
NSErorr *error = nil;
NSArray *dirContents = [fm contentsOfDirectoryAtPath:@"/Images/" error:&error];
if (!dirContents) {
// inspect error
}
使用-[NSBundle resourcePath]
获取应用程序资源目录的路径。
了解您的项目结构不等于您的资源最终会在您的应用程序中的位置。资源都使用您的目标复制到Resources目录
Copy Bundle Resources
建立阶段。
如果您确实要在资源目录的其他目录中添加某些文件,请添加一个新的Copy Files
阶段,目标为Resources
,并以您的文件夹命名Subpath
,比如Images
然后,您可以使用文件管理器和使用的路径遍历这些图像:
[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Images"];