美文网首页
【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