2012-08-08 87 views
1

我一直在寻找一种方法来递归搜索我的主包中的子目录。乍一看,在NSBundle上定义的实例方法,“ - pathForResource:ofType:inDirectory:”看起来好像会做这项工作。它指定如果您传入'nil'作为资源类型,该方法将搜索与资源名称匹配的给定资源的所有子目录。任何人都得到[[NSBundle mainBundle] pathForResource:ofType:inDirectory]递归地工作?

https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSBundle_Class/Reference/Reference.html

我已经试过了,像这样:

NSString *pathForResource = [[NSBundle mainBundle] pathForResource:spriteFrameName ofType:nil inDirectory:@"images"];

不幸的是不起作用。看看文档,它似乎也说它返回一个pathNames数组,即使返回值被声明为'NSString *'。

在谈论递归子目录时,它指向了国际化的资源,这导致我相信递归可能与相关的资源语言目录有关,但这种意图在某种程度上迷失了我。

我在外面吃午饭还没有开始工作,或者这可能只是一个令人困惑的文档?

+0

为什么你不知道自己的应用程序包中资源的路径? – 2012-08-09 01:47:46

+0

我们有一个构建时间工具,可以在应用程序中随机组织资源结构。 (我们的艺术家在他们的组织方式上有一定的余地,但我需要一些基本的文件来查找和验证,尽管我被告知会保证存在。) – djdrzzy 2012-08-09 19:26:34

回答

2

我想你已经找到了一个文档错误。

要递归搜索您的包,请将resourcePath发送到包,然后将其传递到NSFileManagerenumeratorAtPath:消息中。

+0

太棒了。谢谢! – djdrzzy 2012-08-10 19:47:18

相关问题