2017-08-16 59 views
0

我試圖找出一個快速代碼。我正在使用Contentful,我正在嘗試深入瞭解一些數據。當我做一個條目打印我的價值如下:從類型數組中獲取內容資產

"appHeroImages": [Contentful.Link.asset(Contentful.Asset)]] 

我怎麼會從那得到的數據?遷移之前,我有這樣的:

let image = (category.fields["appHeroImages"] as! Array<Any>)[0] as? Contentful.Asset 

有什麼我需要改變在那一行嗎?

回答

1

在使用最新版本,0.9.2contentful.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 }