我不确定这是否可能,但我们假设我们有一个字符串数组,需要将它们与相应的图像数组相匹配。喜欢:
["Patriots", "Broncos", "Cowboys"] = [pat.png, bronc.png, cow.png]
我已尝试使用地图功能,但它似乎无法正常工作:
let footballArray = ["Patriots", "Broncos", "Cowboys"].map({return [pat.png, bronc.png, cow.png] })
感谢您解决此问题的任何帮助!
答案 0 :(得分:1)
您可以从两个序列中创建这样的字典。
let a = ["Patriots", "Broncos", "Cowboys"]
let b = ["pat.png", "bronc.png", "cow.png"]
var footballDict: [String : String] = [:]
zip(a, b).forEach { footballDict[$0] = $1 }
答案 1 :(得分:0)
你可以试试
let footballArray = [String : String] = ["Patriots" : "pat.png", "Broncos" : "bronc.png", "Cowboys" : "cow.png"]
或查看here
答案 2 :(得分:0)
这是您使用.map
let footballArray = ["Patriots", "Broncos", "Cowboys"].map({ (value: String) -> String in
return value + ".png"
答案 3 :(得分:0)
如果您正在讨论如何将两个数组合并为一个数组,则可以使用zip
:
struct Team {
let teamName: String
let imageName: String
}
let teamNames = ["Patriots", "Broncos", "Cowboys"]
let imageNames = ["pat.png", "bronc.png", "cow.png"]
let teams = zip(teamNames, imageNames).map { (teamName, imageName) in
Team(teamName: teamName, imageName: imageName)
}
产生一组Team
个对象,使用这两个数组中的元素构建。