问题是,当资源目录下有多个具有给定名称的文件时,imageNamed如何工作?
有没有办法区分具有相同名称(但路径不同)的两个不同文件?
谢谢
答案 0 :(得分:8)
任何Xcode包中的文件夹都是“groups”。也就是说,它们不是实际的目录。这些组中的文件仍位于软件包的根目录中。
因此,在应用程序包中有两个(或更多)同名文件是不可能的。
请参阅:http://majicjungle.com/blog/?p=123
群组的问题:
目录结构丢失时 它被复制到iPhone应用程序,等等 你的应用程序包内部只是一个大的 基础中所有资源的列表 目录。结果, 重复的文件名成为一个问题。 如果目录中有任何文件 磁盘上的结构包含相同的内容 filename,静默构建过程 一切都搞砸了。它似乎是 “先赢了”,只有一个 资源进入应用程序 束。所以,如果你有一个,那就不好了 一堆不同级别的包 包含不同的'Terrain.png' 文件。
如果通过创建文件夹引用来维护目录结构,则可以消除重复文件名的问题。但是,检索文件是个问题。
您可以使用NSBundle类:
[[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"path/to/file.jpg"]