2016-06-28 2 views
-2

Привет Мне нужно преобразовать этот код кода в Objective-c в Swift Objective-C code , но у меня проблема с объектами Date и TimeInterval. Swift code Swift версия: 3 Xcode Версия: 8.0 бетаTimeInterval in Swift

EDIT: ли это возможное решение? Possible solution

EDIT 2: enter image description here

+0

вы должны вызывать 'timeIntervalSince' в экземпляре' NSDate', но не в классе 'NSDate'. В противном случае он не возвращает «NSTimerInterval» (двойной), а «NSDate». В любом случае, я думаю, что XCode должен возвращать ошибку, когда вы вызываете 'NSDate.timeIntervalSince (currentDate)' потому что это не функция класса. –

+0

Можете ли вы разместить пример в коде? –

+0

Я отправил код. –

ответ

1

Согласно мой комментарий, ваш код должен быть:

private func updateTimer() { 
    let currentDate = NSDate() 
    let timeInterval = currentDate.timeIntervalSince(self.startDate) 
    let timerDate = NSDate(timerIntervalSince1970: timeInterval) 
} 

или

private func updateTimer() { 
    //we don't have to create the variable "currentDate". 
    let timeInterval = NSDate().timeIntervalSince(self.startDate) 
    let timerDate = NSDate(timerIntervalSince1970: timeInterval) 
} 
+0

perfect Я разместил его, когда редактировал мой вопрос! Спасибо! –

1

Для Swift 3 использования Дата:

private func updateTimer() { 
    let currentDate = Date() 
    let timeInterval = currentDate.timeIntervalSince(self.startDate) 
    let timerDate = Date(timeIntervalSince1970: timeInterval) 
} 
+0

NSDate все еще существует в Swift 3, а также NSString, NSArray, ... –