ios – 资产目录与文件夹参考:何时使用其中一个?

前端之家收集整理的这篇文章主要介绍了ios – 资产目录与文件夹参考:何时使用其中一个?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以将文件放入Assets.xcassets,或者我可以将文件放入文件夹引用(蓝色文件夹).我何时会选择一个而不是另一个?

解决方法

您应该使用资产目录,因为这是Apple希望您继续使用的(工具将反映出来),它们带来许多优势:

>应用程序变薄
>设置无代码的资产属性,例如渲染模式或切片
>您不必记住命名约定,如@ 2x,~ipad,-568等,以自动获取特定于设备的资产
>如果勾选您支持的版本和设备的右侧框,资产目录将指出缺少的资产,并提供了一个很好的概述
>您应该习惯它们,因为某些平台(例如,watchOS)要求您使用资产目录

有几点需要注意:

>如果部署回iOS 6,某些功能don’t work as expected – 资产目录仍然有助于组织您的资产,但运行时功能将无法工作,因为Xcode只会将普通图像文件转储到您的捆绑包中.
>如果部署到iOS 7或更高版本,Xcode会将所有资产编译成一个.car文件(这就是整个想法).但是,这可能更难调试,因为您无法查看已编译的文件,这也意味着您不能简单地从单个资产中获取文件URL.要创建文件URL,您始终必须加载资产(按名称)并首先将其写入磁盘. *
>最后一点还暗示您不能使用NSBundle(在Swift 3.0:Bundle中)API来检索图像文件的URL或路径.为了从主捆绑包以外的捆绑包加载资产,您依靠Apple提供API,which they do since iOS 8.0.如果您在资源包中组织共享代码并部署到iOS 7或更早版本,则不应使用资产目录.如果您打算开发框架,这可能是最重要的.

*例如,CoreSpotlight API允许您设置thumbnailURL,但如果您的图像位于资产目录中,则必须自己单独将其写入磁盘,或使用thumbnailData属性.如果您有一个文件URL,那么您永远不必将资产加载到内存中.我不确定Spotlight是否可以从您的应用包中访问文件网址.这只是一个例子.

猜你在找的iOS相关文章