使用 xcassets 中的组加载图像数组

itM*_*nce 3 image file-manager ios swift

我有一个 xcassets 层次结构如下:

xcasset
| Set1 (folder)
| | Birds (folder)
| | | image1
| | | image2
| | | image3
| | | image4
| | Foo (folder)
| | Bar (folder)
Run Code Online (Sandbox Code Playgroud)

我如何(优雅地?):

  • 获取“Set1”组中的组列表
  • 从特定组加载 [UIImage]

所以我可以做一些看起来像的事情~

  1. 列出“Set1”中的所有文件夹
  2. 随机选择一个文件夹
  3. 在 [UIImage] 中加载该文件夹的所有图像

这里很酷的事情是能够更新集合而不必更改代码中的任何内容(并且不必设置特定的名称策略)

mat*_*att 6

您无法内省资产目录。因此,您不能问它诸如 Set1 包含哪些“文件夹”或 Birds 包含哪些图像之类的问题。

如果您需要那种自省,请不要使用资产目录。使用嵌入到应用程序包顶层的文件夹引用。现在您有了真正的文件夹和文件,您可以使用普通的 FileManager 方法浏览文件夹并询问它们包含哪些图像文件。