有没有办法将字符串数组映射到图像数组?

时间:2017-08-19 18:34:09

标签: ios arrays swift

我不确定这是否可能,但我们假设我们有一个字符串数组,需要将它们与相应的图像数组相匹配。喜欢:

["Patriots", "Broncos", "Cowboys"]  =  [pat.png, bronc.png, cow.png]

我已尝试使用地图功能,但它似乎无法正常工作:

let footballArray = ["Patriots", "Broncos", "Cowboys"].map({return [pat.png, bronc.png, cow.png] })

感谢您解决此问题的任何帮助!

4 个答案:

答案 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个对象,使用这两个数组中的元素构建。