美文网首页
【Swift】Optional笔记

【Swift】Optional笔记

作者: NiniaW | 来源:发表于2018-05-10 14:34 被阅读0次
    1. Optional的本质是枚举类型。
    public enum Optional<Wrapped> : ExpressibleByNilLiteral {
        case none
        case some(Wrapped)
        ...
    }
    
    1. String?是optional,其值可以是nil,可以根据需要unwrap;
      String!也是optional,其值可以是nil,在调用时会自动unwrap;
      String不是optional,调用时发现其值为nil会被报错。

    2. 在Optional Chaining中,如果有一个表达式是optional的,那么整个表达式的结果就是optional的。所以以下代码会产生编译错误:

    if aPerson.son?.firstName == "xxx" {
        ...
    }
    

    需要对表达式unwrap之后才能进行处理:

    if let firstName = aPerson.son?.firstName {
        ...
    }
    

    相关文章

      网友评论

          本文标题:【Swift】Optional笔记

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