[String]与[(String)]之间的区别是什么?

时间:2015-07-05 21:16:04

标签: swift

Swift中[String]和[(String)]的区别是什么? 我使用let arr1 : [String]let arr2 = [String]()来获取它们。

2 个答案:

答案 0 :(得分:9)

应该没有区别 - 如果你看到[(String)],这在Xcode或Swift的某个地方是个小问题。理论上,所有变量都是单元素元组 - 这就是为什么每个变量都有.0属性:

let s = "hello"
print(s.0)

但在实践中,这应该被规范化,以便您永远不会看到(OneThing),只有OneThing

答案 1 :(得分:8)

[String]是一个字符串数组,而[(String)]是一个包含1个字符串的元组数组。

let arr1 = [("test")]
arr1[0].0 // contains "test"

let arr2 = ["test"]
arr2[0] // contains "test"

更有用的元组数组可能类似于:

let arr1: [(id: Int, name: String)] = [(12, "Fred"), (43, "Bob")]
arr1[0].name // contains "Fred"