可选链

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可选链相关的知识,希望对你有一定的参考价值。

//: Playground - noun: a place where people can play

import Foundation

/*
可选链:
1.可选链访问方式:将强制解析的感叹号换成?, 在隐式解析的后面也添加?
2.可选链会自动判断程序访问的关联实例是否为nil, 即使为nil, 也不会报异常
*/

class Person
{
    var name:String?
    var age: Int?
    
    init(name:String)
    {
        self.name = name
    }
    
    func info()
    {
        print("我的名字是:\(self.name!)")
    }
}

class Company
{
    var employees = [
        Person(name: "Rinpe"),
        Person(name: "Lili"),
        Person(name: "Lolo")
    ]
    
    func isEmployee(name:String) -> Person?
    {
        for employee in employees {
            if name == employee.name
            {
                return employee
            }
        }
        return nil
    }
}

var e = Person(name: "Lala")

let company = Company()
company.isEmployee(e.name!)?.age = 10

 

以上是关于可选链的主要内容,如果未能解决你的问题,请参考以下文章

空值合并运算符和可选链

可选链与空值合并

可选链

可选链(?.)

Swift新手教程12-可选链

[Swift]学习笔记-可选类型/可选链