2016-06-28 54 views
-2

您好我需要将Objective-c中的这段代码转换为Swift Objective-C code 但是我遇到了Date和TimeInterval对象的问题。 Swift code 斯威夫特版本:3 的Xcode版本:8.0测试版Swift中的TimeInterval

编辑: 这是一个可能的解决方案? Possible solution

编辑2: enter image description here

+0

您必须在'NSDate'的实例上调用'timeIntervalSince',但不在类NSDate上调用。否则,它不会返回'NSTimerInterval'(double)而是'NSDate'。无论如何,我认为当你调用NSDate.timeIntervalSince(currentDate)时,XCode必须返回一个错误,因为它不是类函数。 –

+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

完美我发布它,因为我编辑我的问题!谢谢! –

1

对于斯威夫特3使用日期:

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

NSDate仍然存在于Swift 3中,NSString,NSArray,... –