如何在Xcode中引用图像和其他对象,以及将它们物理放置在何处



这个问题被问了很多次,但我都没有得到满意的答案。可能是因为大多数答案都是"我该怎么做?"类型的,也得到了"你该怎么做"的答案。

我遇到的问题是,当我想引用Xcode(版本6.0.1)中的图像时,我需要使用绝对路径。我很确定我可以将图像放在我的工作目录中,它类似于:

/Users/patrikek/Library/Developer/Xcode/DerivedData/ChessGame-
ftpbqerfsenxxbfvneyzfwdmtwjk/Build/Products/Debug

然后将该文件添加到项目导航器中的某个Xcode组中(例如images/myImg.png),我就可以将该文件引用为myImg.pnng(因为我没有将图像折叠在工作目录中)。我也很确定,项目导航器的东西将不需要这项工作。

在这个介绍之后,问题来了:

1) 是否有必要将所有图像和其他资源放置在当前工作目录中?此外,如果不是,在程序中存储文件夹的最佳方式是什么?是否有必要将包含图像的文件夹命名为Resources

2) 是否可以使用项目导航器排列文件?我想要的是只使用项目导航器,让Xcode担心复制文件的细节等等。当物理文件没有以相同的方式打包时,似乎没有必要有项目导航器。更新项目导航器和物理层次结构似乎也很容易出错。

示例:

我在Project导航器中创建了一个文件夹图像,在该文件夹中,我使用项目导航器中的常用方式放置了对图像的引用。现在可以安排Xcode吗?这样,当我想在某个函数中加载图像时,我可以调用images/myImg.png(我什么都不用做,因为如果我把很多图像移到工作目录中,我可能会忘记一个,如果我在工作空间中创建另一个文件夹,我也可能会错误地拼写images)。此外,当这个操作完成时,Xcode内部发生了什么?

由于我还不熟悉Xcode,我可能在这里犯了一些错误,但这个问题的核心是找出文件的物理位置必须/应该在哪里,以及是否有办法通过使用项目导航器让Xcode做到这一点。

BR Patrik

Xcode并没有像您所认为的那样管理图像。看看2013年WWDC的"Xcode的新增功能"视频,了解Xcode 5和Xcode 6如何组织和管理任何给定项目的图像。当您为项目正确配置了资产目录时,原始图像在磁盘上的位置就无关紧要了。只要你把合适的资产拖到合适的目录中,你的项目就会成功。好消息是,您只需要配置一次图像,并且只需要更改完成后更改的图像。有关详细信息,请参阅以下wwdc视频:http://devstreaming.apple.com/videos/wwdc/2013/400xex2xbskwa5bkxr17zihju9uf/400/ref.mov

一旦在资产目录中配置了图像,您就可以使用或不使用其文件扩展名来引用它。例如,您可以在代码中将"example.png"称为"example"。因此,"myImg.png"在代码中可以是"myImg"或"myImg.png"。无需担心哪个子目录包含它。

现在,如果您的问题与运行时资产有关,那么您的开发系统目录结构也无关紧要。如果是这样的话,那么你可能不得不重新问你的问题。如果你想知道的话,我也很乐意在那里帮助你。

最新更新