"Fix-it applied, fixed expression was:" 是什么意思?

What does "Fix-it applied, fixed expression was:" mean?

(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:) 不 return 像 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)

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

(lldb) po Date(timeIntervalSince1970: TimeInterval(0))!

正如您自己注意到的那样,init(timeIntervalSince1970:) 并不 return 一个可选的,因此你不能打开它。数据库 "automatically" 通过删除感叹号(即 "Fix-it" 来修复此问题 由编译器提供,即与建议的相同 在 Xcode 源代码编辑器中

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