【问题标题】:What does "Fix-it applied, fixed expression was:" mean?“Fix-it applied, fixed expression was:” 是什么意思?
【发布时间】:2016-11-15 05:18:45
【问题描述】:
(lldb) po Date(timeIntervalSince1970: TimeInterval(0))
▿ 1970-01-01 00:00:00 +0000
  - timeIntervalSinceReferenceDate : -978307200.0

(lldb) po Date(timeIntervalSince1970: TimeInterval(0))!
▿ 1970-01-01 00:00:00 +0000
  - timeIntervalSinceReferenceDate : -978307200.0


  Fix-it applied, fixed expression was:
    Date(timeIntervalSince1970: TimeInterval(0))

为什么TimeInterval(0) 需要修复?我知道零表示 1970-1-1,init(timeIntervalSince1970:) 不会返回像 init?(xxx:) 这样的可选日期:

/// Returns a `Date` initialized relative to 00:00:00 UTC on 1 January 1970 by a given number of seconds.
    public init(timeIntervalSince1970: TimeInterval)

【问题讨论】:

    标签: date swift3 nsdate lldb


    【解决方案1】:

    TimeInterval(0 不是问题,而是最后的感叹号 在

    (lldb) po 日期(timeIntervalSince1970: TimeInterval(0))!

    正如您自己注意到的,init(timeIntervalSince1970:) 不会返回 一个可选的,因此你不能打开它。 lldb“自动” 通过删除感叹号来解决这个问题,即“Fix-it” 由编译器提供,即建议的相同 在 Xcode 源代码编辑器中为

    let date = Date(timeIntervalSince1970: TimeInterval(0))!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-02
      • 2013-11-01
      • 2022-01-22
      • 1970-01-01
      • 2017-06-19
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多