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

发布于 2024-10-10 05:37:22 字数 98 浏览 4 评论 0原文

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

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

谢谢

as question says, How does imageNamed work when there are multiple files with the given name under the resource directory?

Is there a way to differentiate two different files with same name (but different path)?

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半夏半凉 2024-10-17 05:37:22

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

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

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

群组问题:

目录结构丢失
它被复制到 iPhone 应用程序中,等等
你的应用程序包里面只是一个大
基地中所有资源的列表
目录。结果,
重复的文件名成为一个问题。
如果您的目录中有任何文件
磁盘上的结构包含相同的
filename,静默构建过程
把一切都搞砸了。看来是
“第一名获胜”,只有一个
使其成为应用程序的资源
捆。所以如果你有一个
每个都有一堆不同级别的包
包含不同的“Terrain.png”
文件。

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

你可以做的是使用 NSBundle 类:

[[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"path/to/file.jpg"]

The folders in any Xcode bundle are "groups". That is, they are not actual directories. The files in those groups are still located in the bundle's root.

So, having two (or more) files with the same name in the app bundle is impossible.

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

The problem with Groups:

The directory structure is lost when
it’s copied to the iphone app, and so
inside your app bundle is just a big
list of all your resources in the base
directory. As a result of this,
duplicate filenames become an issue.
If any files within your directory
structure on disk contain the same
filename, the build process silently
screws everything up. It appears to be
‘first in wins’, with only one of the
resources making it into the app
bundle. So it’s no good if you have a
bunch of different level packages each
containing a different ‘Terrain.png’
file.

If you maintain your directory structure by creating folder references, this eliminates the problem of duplicate file names. However, retrieving the files is the problem.

What you can do is use the NSBundle class:

[[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"path/to/file.jpg"]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文