Swift - Xcode抱怨额外的争论 - NSDate初始化

时间:2014-08-20 15:49:40

标签: ios date swift

我只想尝试从epoch初始化NSDate对象。 我有一个Dictionary<String, AnyObject>类型的字典对象,我知道这个键对应一个Int

但Swift编译器抱怨NSDate行有一个Extra argument 'timeIntervalSince1970' in call

 if let respondedDate : Int = (responseDict["expiry_date"] as AnyObject) as? Int {
     let expiryDate = NSDate(timeIntervalSince1970: respondedDate)
 }

不知道我在这里做错了什么,这对我来说似乎完全正确。 有什么想法吗?

感谢及时回复。这是工作代码!

if let respondedDate : NSTimeInterval = (responseDict["expiry_date"] as AnyObject) as? NSTimeInterval {
    let expiryDate = NSDate(timeIntervalSince1970: respondedDate)
}

希望Xcode很快就会更新,以使这个错误更具描述性,而不是告诉我那里有一个&#34;额外的参数&#34;

2 个答案:

答案 0 :(得分:10)

期待respondedDate成为NSTimeInterval Double。如果您将respondDate强制转换为NSTimeInterval,那么它应该可以正常工作。

答案 1 :(得分:2)

respondedDate声明为NSTimeInterval而不是Int。 Swift是强类型的,因此它无法自动将Int转换为NSTimeIntervalDouble的类型)。