美文网首页
Swift---17.可选链

Swift---17.可选链

作者: 阿丶伦 | 来源:发表于2017-03-05 15:22 被阅读8次
    • 前言:

      • 在基础类型中,我们知道有一种可选类型Optional,该类型有两种可能.一为nil,二为它标志的类型.写法为:var/let name:type?/!
      • 我们使用?!来表示这是一个可选的类型,!表示该参数不需要强制解析,而?需要.
      • 在该变量或常量后添加!来强制解析,如果为nil,会引起编译错误,避免这个错误,我们使用可选链
    • 可选链:

    用于处理可选类型的属性,方法和下标,可以代替强制解析.也可以调用方法与下标.使用?来调起可选链,它会自己判断访问的实例是否为nil

    • 调用属性
    • 调用方法
    • 调用下标
    • 多级调用
        class Person {
            var school : School?
        }
        class School {
            var name = ""
            var grade:Grade?
            func log() {
                print("haha")
            }
            subscript(str:String) ->String {
                return str+"!"
            }
        }
        class Grade {
            var age = 0
        }
        var person = Person()
        //person.school!.name
        person.school?.name
        person.school?.log()
        person.school?["asd"]
        var school = School()
        school.name = "asd"
        //多级调用
        person.school = school
        print(person.school?.name ?? "none value")
        person.school?.grade?.age
        //方法返回可选值
        person.school?.name = ""
        if var str = person.school?.schoolName() {
            print(str)
        }else {
            print("没有名称")
        }
        ```

    相关文章

      网友评论

          本文标题:Swift---17.可选链

          本文链接:https://www.haomeiwen.com/subject/aoqegttx.html