当我们创建一个方法的时候,希望返回多个值,我们可以使用数组NSArray或者字典NSDictionary的形式。那么问题来了,如果是返回多种数据类型的数据呢?没辙了吧!
这时候就有了元组,听这名字都觉得霸气十足啊。
元组,就是把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型。如此一来,灵活性就十足了。
关于元组的操作,如下:
http404Error元组,用来表示一个网页请求时的状态码和结果
let http404Error = (404,"Not Found")
//通过下标访问元组的元素
print("\(http404Error.0)")
print("\(http404Error.1)")`这里写代码片`
//也可以通过将元组分解成单独的常量或者变量,用名字访问
let (statusCode,statusMessage) = http404Error
print("\(statusCode)")
print("\(statusMessage)")
//只取元组的一部分,可以用下划线替代不需要的部分
let (justStatusCode,_) = http404Error
print("\(justStatusCode)")
//可以在定义元组的时候给单个元素命名:
let http200Status = (statusCode:200,statusMessage:"OK")
print("\(http200Status.statusCode)")
print("\(http200Status.statusMessage)”)
作为函数返回值时,元组非常有用,一个用来获取网页的函数可能返回一个(Int ,String)元组来描述是否获取成功,和只能返回一个类型的值比较起来,还是一个能够返回两个不同数据类型的元组可以让函数返回值更加有效。
但是,元组不适合创建复杂的数据结构,只适合临时使用。如果是创建复杂的数据结构,请考虑类或者结构体。