17--swift之可选链

1.可选类型是枚举类型,有值,没有值

2.基本类型的变量必须先进行初始化,而可选不需要,基本类型必须有值,所以有局限性,没有可选类型表示的状态广泛

3.在访问可选类型之前需要解包,可选绑定

4.oc中的变量相当于swift中的可选类型,所以在iOS开发中用oc编程时注意,该加问号的要加问号

var o: Int?

if let o1 = o{

print(o1)//先判断可选类型是否有值,再访问

}

5.通过可选链调用取得的返回值会被包装成一个可选类型的数据

6.通过可选链调用下标索引

可选值?. 属性

可选值?.方法

如何通过下标方法?可选值?[参数]

class d {

subscript(x: String)->Int{

return x.hashValue

}

}

var m = d()

var m1: d?

m1 = m

print(m1?["abc"])

7.可选链的赋值操作

class Person {

var name = ""

func wh()->String{

print("\(name)")

return name

}

init(name: String){

self.name = name


}

}


var p1:Person?

var p2:Person = Person(name: "tom")

p1 = p2

p1?.name = "hua hua"//赋值

print(p2.name)


你可能感兴趣的:(17--swift之可选链)