【问题标题】:Strange issue while summing time interval and date in Swift 3在 Swift 3 中求和时间间隔和日期时的奇怪问题
【发布时间】:2016-11-30 23:28:26
【问题描述】:

在尝试对日期和时间间隔求和时,我对运算符 + 错误的使用模棱两可。怎么解决?

func +(date: Date, timeInterval: Int) -> Date {
    return date + TimeInterval(timeInterval)
}

【问题讨论】:

    标签: swift ambiguous


    【解决方案1】:

    您为什么要尝试定义这样的+ 运算符? Swift 已经提供了一个。

    以下工作正常:

    let date = Date()
    let interval = TimeInterval(45)
    let newDate = date + interval
    

    您在问题中发布的代码对我来说效果很好。

    func +(date: Date, timeInterval: Int) -> Date {
        return date + TimeInterval(timeInterval)
    }
    
    let date = Date()
    let interval = 45
    let anotherDate = date + interval
    

    【讨论】:

    • 您是在 swift 3 还是 2 中检查它?我正在尝试从 2 迁移到 3 并收到此错误
    • Swift 3。所有这些代码都在 Xcode 8.1 的 Swift 操场上运行。
    • 听起来自定义 + 运算符在 Swift 2 中是必需的,但在 Swift 3 中不再需要。
    猜你喜欢
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多