//: Playground - noun: a place where people can play
import UIKit
var str = "Hello, playground"
/*
可空链式调用(Optional Chaining)是一种可以请求和调用属性、方法及下标的过程,它的可空性体现于请求或调用的目标当前可能为空(nil)。如果可空的目标有值,那么调用就会成功;如果选择的目标为空(nil),那么这种调用将返回空(nil)。多个连续的调用可以被链接在一起形成一个调用链,如果其中任何一个节点为空(nil)将导致整个链调用失败。
> 注意: Swift 的可空链式调用和 Objective-C 中的消息为空有些相像,但是 Swift 可以使用在任意类型中,并且能够检查调用是否成功。
*/
//使用可空链式调用来强制展开
class Person {
var residence: Residence?
}
class Residence {
var numberOfRooms = 1
}
let john = Person() ;
//如果使用叹号(!)强制展开获得这个john的residence属性中的numberOfRooms值,会触发运行时错误,因为这时没有可以展开的residence:
//let roomCount = john.residence!.numberOfRooms ;
//john.residence非空的时候,上面的调用成功,并且把roomCount设置为Int类型的房间数量。正如上面说到的,当residence为空的时候上面这段代码会触发运行时错误。
//可空链式调用提供了一种另一种访问numberOfRooms的方法,使用问号(?)来代替原来叹号(!)的位置:
Swift-可空链式调用
最新推荐文章于 2023-08-06 23:06:54 发布