(iphone)imageNamed有多个同名文件?

eug*_*ene 7 iphone imagenamed

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

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

谢谢

Eva*_*ski 8

任何Xcode包中的文件夹都是"组".也就是说,它们不是实际的目录.这些组中的文件仍位于捆绑包的根目录中.

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

请参阅:http://majicjungle.com/blog/?p = 123

群组的问题:

将目录结构复制到iphone应用程序时会丢失目录结构,因此在应用程序包中只是基本目录中所有资源的大列表.因此,重复的文件名成为问题.如果磁盘上目录结构中的任何文件包含相同的文件名,则构建过程会以静默方式将所有内容搞砸.它似乎是"赢得第一",只有一个资源进入应用程序包.因此,如果你有一堆不同的级别包,每个包含一个不同的'Terrain.png'文件,那就不好了.

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

你可以做的是使用NSBundle类:

[[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"path/to/file.jpg"]
Run Code Online (Sandbox Code Playgroud)