如何为 Image.xcassets 中的图像构建 NSURL?
How do you build an NSURL for an image in Image.xcassets?
加载本地 UIImage
资产的最简单方法当然是使用 +[UIImage imageNamed]
,但对于我的情况,我想提供一个 NSURL *
。如何获取本地文件的 NSURL *
?
在使用 xcasset 时,Xcode 将所有文件放入一个新文件中。 1 个文件来管理它们。因此,您无法直接访问 xcasset 中的图像存储。来自苹果的 documentation:
For projects with a deployment target of at least iOS 7 or OS X 10.9,
Xcode compiles your asset catalogs into a runtime binary file format
that reduces the download time for your app.
如果您必须访问该文件,您有两个选择:
- 这张图片不要使用 xcasset,而是把你的图片作为普通图片放在你的项目中,然后使用
NSBundle
来获取它
- 使用
UIImage imageNamed
,并保存在你选择的目录下
但无论您有什么需求,您都应该考虑另一种方式来管理它。上述解决方案都可以,但我相信您可以有更好的解决方案。
加载本地 UIImage
资产的最简单方法当然是使用 +[UIImage imageNamed]
,但对于我的情况,我想提供一个 NSURL *
。如何获取本地文件的 NSURL *
?
在使用 xcasset 时,Xcode 将所有文件放入一个新文件中。 1 个文件来管理它们。因此,您无法直接访问 xcasset 中的图像存储。来自苹果的 documentation:
For projects with a deployment target of at least iOS 7 or OS X 10.9, Xcode compiles your asset catalogs into a runtime binary file format that reduces the download time for your app.
如果您必须访问该文件,您有两个选择:
- 这张图片不要使用 xcasset,而是把你的图片作为普通图片放在你的项目中,然后使用
NSBundle
来获取它 - 使用
UIImage imageNamed
,并保存在你选择的目录下
但无论您有什么需求,您都应该考虑另一种方式来管理它。上述解决方案都可以,但我相信您可以有更好的解决方案。