我有一个基本问题,希望你们能帮忙:
我在 Swift 4.2 中将函数映射对象放入Array:
var arrayLoop = dictionary["display_resources"].arrayValue
var displayRss = [DisplayResources]()
for var o in arrayLoop {
displayRss.append(DisplayResources(dict: o))
}
如何使用map
来简短地编写它:
displayRss = DisplayResources(dict: dictionary["display_resources"].arrayValue.map{ $0 })) // Not right
答案 0 :(得分:1)
您应该将要应用的函数放在arrayLoop
内的map
的每个元素上。在这种情况下,它是DisplayResources
的初始化程序:
displayRss = dictionary["display_resources"].arrayValue.map { DisplayResources(dict: $0) }
或者简单地:
displayRss = dictionary["display_resources"].arrayValue.map(DisplayResources.init)