我试图找出一个快速的代码。我正在使用内容,我正在尝试向下钻取以获取一些数据。当我打印条目时,我的值如下:
"appHeroImages": [Contentful.Link.asset(Contentful.Asset)]]
我将如何从中获取数据?在迁移之前,我有这个:
let image = (category.fields["appHeroImages"] as! Array<Any>)[0] as? Contentful.Asset
我需要改变什么吗?
> 当使用最新版本0.9.2
时,contentful.swift,从条目上的链接字段中提取链接数组(及其第一个元素(将通过以下方式完成:
if let links = category.fields["appHeroImages"] as? [Link], let firstAsset = links.first?.asset {
print(asset.urlString!) // Don't implicitly unwrap in a real app.
}
如果您知道存储在"appHeroImages"
的所有链接值都是Asset
类型,您还可以使用 flatMap 快速将[Link]
转换为[Asset]
:
guard let assets = (category.fields["appHeroImages"] as? [Link])?.flatMap { $0.asset } else { return }