Swift中[String]和[(String)]的区别是什么?
我使用let arr1 : [String]
和let arr2 = [String]()
来获取它们。
答案 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"