NSDateComponents.setValue()不适用于iOS 7及更低版本

时间:2016-03-29 08:18:18

标签: ios swift calendar

我需要在当前日期添加一年(swift& iOS 7及以上版本)。但我发现的每个解决方案都只支持iOS 8及更高版本。请引导我通过适当的解决方案。 感谢

 let components: NSDateComponents = NSDateComponents()
    components.setValue(1, forComponent: NSCalendarUnit.Year);
    let date: NSDate = NSDate()
    let expirationDate = NSCalendar.currentCalendar().dateByAddingComponents(components, toDate: date, options: NSCalendarOptions(rawValue: 0))

1 个答案:

答案 0 :(得分:2)

setValue() NSDateComponents方法仅适用于components.setValue(1, forComponent: NSCalendarUnit.Year) iOS 8 / OS X 10.9或更高版本:

components.year = 1

对于iOS 7支持,只需使用

即可
dateByAddingComponents(components, toDate: date, options: NSCalendarOptions(rawValue: 0)

另请注意

dateByAddingComponents(components, toDate: date, options: [])

可以缩写为

pip install Twisted-16.0.0-cp27-none-win_amd64.whl

比较例如Swift 2.0 calendar components error