我试图找出一个快速的代码。我正在使用Contentful,我正在努力深入了解一些数据。当我打印条目时,我的值如下:
"appHeroImages": [Contentful.Link.asset(Contentful.Asset)]]
我如何从中获取数据?在迁移之前,我有这个:
let image = (category.fields["appHeroImages"] as! Array<Any>)[0] as? Contentful.Asset
我需要在那条线上做些什么改变吗?
答案 0 :(得分:1)
当使用contentful.swift的最新版本0.9.2
时,从条目的链接字段中提取链接数组(以及它的第一个元素)将按以下方式完成:< / p>
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 }