1

我一直在寻找一种在我的主包中递归搜索子目录的方法。乍一看,NSBundle 上定义的实例方法“--pathForResource:ofType:inDirectory:”似乎可以完成这项工作。它指定如果您传入“nil”作为资源类型,该方法将搜索所有子目录以查找与资源名称匹配的给定资源。

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 *”。

在谈到递归子目录时,它指向国际化资源,这让我相信递归可能与相关资源语言目录有关,但这种意图不知何故让我迷失了。

我是因为没有让这个工作而出去吃午饭,还是这只是一个令人困惑的文档?

4

1 回答 1

2

我认为您发现了文档错误。

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

于 2012-08-08T16:20:59.213 回答