IOS 开发之Swift 元组的实例详解

时间:2022-09-20 09:13:53

IOS 开发之Swift 元组的实例详解

元组是多个值组合而成的复合值。元组中的值可以是任意类型,而且每一个元素的类型可以是不同的。

元组声明

?
1
2
3
4
5
6
7
8
9
//普通声明
var point = (5,2)
 
var httpResponse = (404, "Not Found")
 
//定义类型声明
var point2 : (Int,Int,Int) = (10,5,2)
 
var httpResponse2 : (Int,String) = (200,"ok")

元组解包

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var point = (5,2)
 
var httpResponse = (404, "Not Found")
 
let (x,y) = point
// x = 5 , y = 2
 
var (statuseCode, statuseMessage) = httpResponse
// statuseCode = 404 , statuseMessage = "Not Found"
 
//此时因为元组(x,y)是let 类型的,所以x和y的值不能改变;而(statuseCode, statuseMessage)是var类型的所以statuseCode和statuseMessage的值可以改变
 
x = 10 //举报错
 
statuseCode = 405//不报错

元组也可以如同数组一样,根据索引进行解包,所以从0开始

?
1
2
3
4
var point = (5,2)
 
point.0 //值为5
point.1 //值为2

元组也可以如同字典一样,给每个值赋一个key作为名字,根据名字解包

?
1
2
3
4
5
6
7
8
9
10
11
12
13
let point3 = (x:3,y:2)
 
point3.0 //值为3
 
point3.x //值为3
 
 
let point4 : (x:Int,y:Int) = (5,10)
 
 
point4.x //值为5
 
point4.y //值为10

部分解包,不需要的值用 _ 表示,对元组进行部分解包

?
1
2
3
4
5
6
7
8
9
10
//部分解包
 
let loginResult = (true, "LXY")
 
let (isLoginSuccess,_) = loginResult
 
if isLoginSuccess
{
 
}

以上就是关于IOS Swift 元组的讲解,如有疑问大家留言交流,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/u012903898/article/details/52584122