swift学习笔记-3

来源:互联网 发布:网络防火墙品牌 编辑:程序博客网 时间:2024/04/30 14:51

这里只针对swift,记录swift和oc不同之处。“布尔” 和 “元组”
1.布尔型 BOOL->Bool的转变

let a = 1let b = truelet c = falseif a == 1 || b {}

swift中布尔型只有两个取值true和false,不再是oc中那样非零即真。上面代码中a为Int类型,bc是Bool类型,单独a不能做if条件,if a {} 这种写法是错的。b和c是Bool型可以作为判断条件。

2.元组,oc中没有的一个新的数据类型,与数组和字典都类似,或者说是数组和字典的融合体。元组很任意:长度任意,元素类型任意。

let y = (9, "你好", true)

读取元组内的值很简单,元组名.第几个,这里看起来有点像数组的样子,相比于数组不用写[],换成了.

 print(y.2)//这里打印的就是y元组第2个元素true

如果嫌脚标不够直观,可以给元组里每个元素命名

let(num, name, age) = y //依次给元组y里的元素命名let(num, _, age) = y  //如果不想访问第1个元素,则用_代替print(num) //打印元素便可直接写元素名

元组还有另一种初始化形式,这个看起来像字典,每个元素初始化的时候便给它一个名字

let z = (name:"jack", age:22, isGood:true)print(z.name) //打印的时候,名字便可代替脚标

元组的可变与不可变

let manInfo = (name:"jack", age:22, isGood:true)var womanInfo = (name:"lili", age:20, isGood:true)manInfo.name = "make" //let不可变   报错,不可修改womanInfo.name = "mimi" //var可变  可以修改womanInfo.age = "20" //这里注意:不论元组可变不可变,都不能修改元组内元素的数据类型
0 0