【发布时间】:2016-07-01 20:49:02
【问题描述】:
我在 Objective-C 中有这个方法来返回发送到服务器的位置的时间戳。
-(NSDate *) toLocalTime
{
NSTimeZone *tz = [NSTimeZone defaultTimeZone];
NSInteger seconds = [tz secondsFromGMTForDate: [NSDate date]];
return [NSDate dateWithTimeInterval: seconds sinceDate: [NSDate date]];
}
这在 Obj-C 中完美运行 我已将其转换为 swift 2.0
func toLocalTime() -> NSDate {
var tz : NSTimeZone = NSTimeZone.defaultTimeZone()
var seconds: Int = tz.secondsFromGMTForDate(NSDate())
return (NSDate(timeInterval: seconds, sinceDate: NSDate()))
}
但是当我将其转换为 swift 2.0 时,此行会显示错误(如上面的标题所述),因为变量 seconds 是 Int 类型,并且应该传递给 dateWithTimeInterval 的变量应该是 NSTimeInterval。
错误:无法将类型“int”转换为预期类型 NSTimeInterval
Error line: return (NSDate(timeInterval: seconds, sinceDate: NSDate()))
请帮忙!
【问题讨论】:
-
你不能直接去
var seconds: NSTimeInterval = tz.secondsFromGMTForDate(NSDate())吗?
标签: ios objective-c swift