7

正如问题所说,当资源目录下有多个具有给定名称的文件时,imageNamed 如何工作?

有没有办法区分两个具有相同名称(但路径不同)的不同文件?

谢谢

4

1 回答 1

8

任何 Xcode 包中的文件夹都是“组”。也就是说,它们不是实际的目录。这些组中的文件仍然位于包的根目录中。

因此,在应用程序包中拥有两个(或更多)同名文件是不可能的。

见:http ://majicjungle.com/blog/?p=123

组的问题:

目录结构在复制到 iphone 应用程序时会丢失,因此在您的应用程序包中只是基本目录中所有资源的大列表。因此,重复的文件名成为一个问题。如果磁盘上目录结构中的任何文件包含相同的文件名,则构建过程会默默地搞砸一切。它似乎是“先入为主”,只有一个资源进入了应用程序包。因此,如果您有一堆不同级别的包,每个包都包含不同的“Terrain.png”文件,那就不好了。

如果您通过创建文件夹引用来维护您的目录结构,这将消除重复文件名的问题。但是,检索文件是个问题。

你可以做的是使用 NSBundle 类:

[[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"path/to/file.jpg"]
于 2011-01-03T02:23:16.540 回答