V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jaurung
V2EX  ›  Swift

关于 swift 的隐式解析可选类型,有一个小小的疑惑

  •  
  •   jaurung · Jun 25, 2015 · 4788 views
    This topic created in 3971 days ago, the information mentioned may be changed or developed.

    swift文档上有一句:
    注意:
    如果你在隐式解析可选类型没有值的时候尝试取值,会触发运行时错误。和你在没有值的普通可选类型后面加一个惊叹号一样。

    那么为啥

    let str: String! = nil

    println("str get (str)")

    这样写不会报错呢?

    1 replies    2015-06-25 13:29:16 +08:00
    nbndco
        1
    nbndco  
       Jun 25, 2015
    为什么这行命令取值了?取值是要加!的。
    这里用到的是String Interpolation,因为String实现了Printable,估计内部实现是str?.description,根本就不会取nil的值。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2987 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 15:04 · PVG 23:04 · LAX 08:04 · JFK 11:04
    ♥ Do have faith in what you're doing.