2016-11-15 3 views
1
(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:):Что означает «Fix-it apply, fixed expression was:» mean?

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

ответ

3

TimeInterval(0 это не проблема, но окончательный восклицательный знак в

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

Как вы заметили себя, init(timeIntervalSince1970:) не возвращает необязательно, и поэтому вы не можете его разворачивать. lldb «автоматически» фиксирует, что, удалив восклицательный знак, который является «Fix-It» предложил компилятором, т.е. тот же, который бы предложил в редакторе исходного кода Xcode для

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

enter image description here

Смежные вопросы