iOS开发46-iOS Swift元组(Tuples)
元组是Objective-C中没有的数据类型,与数组类似,都是表示一组数据的集合,但与数组不同,它的特点是:
元组的长度任意
元组中的数据可以是不同的数据类型
元组的定义很简单,用小括号括起来,然后以逗号隔开就可以了
var user = ("baby" ,true, 2)
//可以直接通过索引来取
print(user.0) //baby
print(user.1) //true
print(user.2) //2
//也可以用下面这种方式来访问
let (name, gender, age) = user
print(name) //baby
print(gender) //true
print(age) //2
//另外一种方法访问元组中的数据
let newUser = (name : "baby" ,gender:true, age:2)
newUser.name //baby
newUser.gender //true
newUser.age //2
跳过不需要的值
let (name, _, age) = user
name //baby
//gender 这个就不能访问了
age //2
let user2 = (name:"baby" ,true, age:2)
user2.name //baby
//user2.isMale 这个就不能访问了
user2.age //2
//可变元组和不可变元组
//用var定义的元组就是可变元组,let定义的就是不可变元组。
//不管是可变还是不可变元组,元组在创建后就不能对其长度进行增加和删除之类的修改。
//只有可变元组能在创建之后修改元组中的数据
var userInfo1 = (name:"baby" ,true, age:2)//定义可变元组
userInfo1.name = "new1"
userInfo1.name = "new2"
let userInfo2 = (name:"baby" ,true, age:1)//定义不可变元组
//userInfo2.name = "newName" //报错,不可修改
//可变元组虽然可以修改数据,但却不能改变其数据的数据类型
var userInfo3 = (name:"baby" ,true, age:3)
//userInfo3.name = 1 //报错