链接2个字符串(或数组)

时间:2016-05-09 20:10:32

标签: ios arrays string swift

我正在尝试在多个阵列之间建立连接。例; (马里奥兄弟)

var names = ["Mario", "Luigi"]
var colors = ["Red", "Green"]

而不是像if names == "Mario" && colors == "Red"这样的if语句我希望更容易连接 - 就像按钮有标签一样,我想制作一个字符串标签("Mario".tag = 1和{{1} })

请注意,我有10个不同的数组,如上所述。

2 个答案:

答案 0 :(得分:3)

我建议你创建一个包含10个属性的结构,并建立一个包含这些结构的数组,而不是10 parallel arrays

结构是一个数据包,它抽象出内容的细节,并允许您作为一个整体处理数据。

我建议你查看Swift编程指南(在它的完整性)。它编写得非常好。特别是,这是page on Classes and Structs.

此外,如果你想比较一个结构,比如Mario(就像在你的例子中那样),你可以实现一个方法==并使你的结构符合Equatable协议,这将允许你做类似的事情:

if someCharacter == Mario {... //automatically compares all properties.

请参阅The Swift Programming Language (Swift 2.2) - Protocols

答案 1 :(得分:0)

首先,您需要一个ModelValue

struct Element {
    let name: String
    let color: String
}

现在给出

let names = ["Mario", "Luigi"]
let colors = ["Red", "Green"]

您可以创建Element(s)

的列表
let elements = zip(names, colors).map { Element(name: $0.0, color: $0.1) }

最后你可以使用它

elements[0].name
elements[0].color