这里只针对swift,记录swift和oc不同之处。“布尔” 和 “元组”
1.布尔型 BOOL->Bool的转变
let a = 1
let b = true
let c = false
if 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" //这里注意:不论元组可变不可变,都不能修改元组内元素的数据类型