美文网首页
可选链(Optional Chaining)

可选链(Optional Chaining)

作者: 曹来东 | 来源:发表于2019-07-16 15:56 被阅读0次
  • 如果可选项为nil,调用方法,下标,属性失败,结果为nil
  • 如果可选项不为nil,调用方法,下标,属性成功,结果会被包装成可选项.
  • 如果结果本来就是可选项,不会进行再次包装
  • 多个?可以连接在一起
  • 如果链中任何一个节点是nil,那么整个链就会调用失败.
class Car {
    var price = 0
}
class Dog {
    var weight = 0
}
class Person {
    var name: String = ""
    var dog: Dog = Dog()
    var car: Car? = Car()
    func age() -> Int {
       return 18
    }
    func eat() {
        print("Person eat")
    }
    func getName() -> String {
       return "jack"
    }
}
var person: Person? = Person()
var age1 = person!.age()//Int
var age2 = person?.age()//Int?
var name = person?.name// String?
var index = person?[6] // Int?
//如果person为nil,不会调用getName()
person?.name = getName()

if let _ = person?.eat() {//()?
    print("eat 调用成功")
}else{
    print("eat 调用失败")
}

var dog = person?.dog //Dog?
var weight = person?.dog.weight // Int?
var price = person?.car?.price // Int?

相关文章

  • 11-可选链

    可选链(Optional Chaining)

  • ES新特性

    optional chaining 本质:语法糖 年份:2020 optional chaining 可选链。主要...

  • 可选链

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

  • 可选链 协议 Self

    可选链 Optional Chaining 协议 协议中的属性 static class mutating ini...

  • 可选链(Optional Chaining)

    如果可选项为nil,调用方法,下标,属性失败,结果为nil 如果可选项不为nil,调用方法,下标,属性成功,结果会...

  • 【Swift 3.1】17 - 可选链 (Optional Ch

    【Swift 3.1】17 - 可选链 (Optional Chaining) 自从苹果2014年发布Swift,...

  • Swift:基础(二十六)可选链

    Swift 可选链 可选链(Optional Chaining)是一种可以请求和调用属性、方法和子脚本的过程,用于...

  • iOS-Swift-可选链、协议

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

  • node.js 14新特性

    1 Optional Chaining(可选链) 2 Nullish Coalescing(空值合并)逻辑或操作符...

  • [Swift5.1] 13-可选链

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

网友评论

      本文标题:可选链(Optional Chaining)

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