Swift 可选链
@H_403_6@可选链(Optional Chaining)是一种是一种可以请求和调用属性、方法和子脚本的过程,用于请求或调用的目标可能为nil。 @H_403_6@可选链返回两个值: @H_403_6@如果目标有值,调用就会成功,返回该值 @H_403_6@如果目标为nil,调用将返回nil @H_403_6@多次请求或调用可以被链接成一个链,如果任意一个节点为nil将导致整条链失效。 @H_403_6@可选链可替代强制解析 @H_403_6@通过在属性、方法、或下标脚本的可选值后面放一个问号(?),即可定义一个可选链。 @H_403_6@可选链 '?' 感叹号(!)强制展开方法,属性,下标脚本可选链 @H_403_6@? 放置于可选值后来调用方法,属性,下标脚本 ! 放置于可选值后来调用方法,属性,下标脚本来强制展开值 @H_403_6@当可选为 nil 输出比较友好的错误信息 当可选为 nil 时强制展开执行错误
@H_403_6@ var rooms = [Room]() @H_403_6@ var numberOfRooms: Int { @H_403_6@ return rooms.count @H_403_6@ } @H_403_6@ subscript(i: Int) -> Room { @H_403_6@ get{ @H_403_6@ return rooms[i] @H_403_6@ } @H_403_6@ set { @H_403_6@ rooms[i] = newValue @H_403_6@ } @H_403_6@ } @H_403_6@ func printNumberOfRooms() { @H_403_6@ print("房间号为 \(numberOfRooms)") @H_403_6@ } @H_403_6@ var address: Address? @H_403_6@}