美文网首页
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.可选链

    前言:在基础类型中,我们知道有一种可选类型Optional,该类型有两种可能.一为nil,二为它标志的类型.写法为...

  • Swift-13.可选类型深入探讨

    本章包含内容: 可选类型深入探讨 可选链的介绍 可选链的返回值 可选链调用下标索引 可选链的赋值操作 基于多层链接...

  • swift3语法(十三)

    可选链 定义可选链在取值可能为空的属性、方法、下标后面加上 ? 就表示一个可选链在可选值后面加上 ! 来强制展开,...

  • swift面向对象基础<三>

    接下来就讨论一下可选链,类型属性和类型方法,构造器 1.可选链是用于处理可选类型的属性,方法和下标2.使用可选链代...

  • iOS开发 - 「Swift 学习」Swift 可选链

    Swift 可选链 可选链的定义:可选链是可以请求和调用属性、方法和子脚本的过程,用于请求或调用的目标可能为nil...

  • 十三、可选链、协议、元类型

    可选链 可选链是一个调用和查询可选属性、方法和下标的过程,它可能为 nil 如果可选项是 nil ,属性、方法或者...

  • 【骚操作系列】一、如何通过babel配置使用可选链`?.`和双问

    如何通过babel配置使用可选链?.和双问号?? 什么是可选链 https://developer.mozilla...

  • 可选链

    可选链(Optional Chaining) 如果可选项为nil,调用方法、下标、属性失败,结果为nil 如果可选...

  • 15 可选链和异常处理

    1. 可选链 1.1 可选链的概念 它的可选性体现于请求或调用的目标当前可能为空(nil)如果可选的目标有值,那么...

  • Swift - 可选链

    可选链 可选链 它的可选性体现于请求或者调用的目标当前可能为空 (nil)如果可选的目标有值,那么调用就会成功;如...

网友评论

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

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