gpt4 book ai didi

ios - Assets 目录与文件夹引用 : When to use one or the other?

转载 作者:技术小花猫 更新时间:2023-10-29 11:22:20 24 4
gpt4 key购买 nike

我可以将文件放入 Assets.xcassets 或者我可以将文件放入文件夹引用(蓝色文件夹)。我什么时候会选择一个而不是另一个?

最佳答案

您可能应该使用 Assets 目录,因为这是 Apple 希望您今后使用的(工具会反射(reflect)这一点)并且它们带来了许多优势:

  • 应用瘦身

  • 无需代码即可设置 Assets 属性,例如渲染模式或切片

  • 您不必记住命名约定,例如 @2x~ipad-568 等,即可获取设备-自动指定 Assets

  • 如果您为您支持的版本和设备勾选正确的框, Assets 目录将指出缺少的 Assets ,并且它们提供了一个很好的概述

  • 您应该习惯它们,因为某些平台(例如 watchOS)要求您使用 Assets 目录

有几点需要注意:

  • 如果您部署回 iOS 6,一些功能 don't work as expected – Assets 目录仍然有助于组织您的 Assets ,但运行时功能将不起作用,因为 Xcode 只会将纯图像文件转储到您的包中。

  • 如果您部署到 iOS 7 或更高版本,Xcode 会将所有 Assets 编译到一个 .car 文件中(这就是整个想法)。但是,这可能更难调试,因为您无法查看编译后的文件,这也意味着您不能简单地从单个 Assets 中获取文件 URL。要创建文件 URL,您始终必须先加载 Assets (按其名称)并将其写入磁盘。 *

  • 最后一点还暗示您不能使用 NSBundle(在 Swift 3.0 中:Bundle)API 来检索图像文件的 URL 或路径。为了从主包以外的包加载 Assets ,您需要 Apple 提供 API,which they do since iOS 8.0 .如果您在资源包中组织共享代码并部署到 iOS 7 或更早版本,则不应使用 Assets 目录。如果您打算开发一个框架,这可能最相关。

* 例如,CoreSpotlight API 允许您设置 thumbnailURL , 但如果你的图像在 Assets 目录中,你必须自己单独将它写入磁盘,或者使用 thumbnailData属性(property)。如果您有一个文件 URL 开始,您永远不必将 Assets 加载到内存中。我不确定 Spotlight 是否可以从您的应用程序包中访问文件 URL。这只是一个例子。

关于ios - Assets 目录与文件夹引用 : When to use one or the other?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38117076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com