【问题标题】:Swift - Xcode complaining about extra argument - NSDate initialisationSwift - Xcode 抱怨额外的参数 - NSDate 初始化
【发布时间】:2018-11-30 15:21:37
【问题描述】:

我只是想从 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 很快会更新,以使这个错误更具描述性,而不是告诉我有一个“额外的参数”

【问题讨论】:

    标签: ios date swift


    【解决方案1】:

    它期望respondedDateNSTimeInterval,即Double。如果您将 respondDate 转换为 NSTimeInterval,它应该可以工作。

    【讨论】:

      【解决方案2】:

      respondedDate 声明为NSTimeInterval 而不是Int。 Swift 是强类型的,因此它不能自动将 Int 转换为 NSTimeInterval(这是 Double 的类型别名)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多