Swift 2.0日历组件错误

嗨我得到这个错误在迅速2.0

无法使用types为'(NSCalendarUnit,fromDate:NSDate?,toDate:NSDate?,options:nil)'的参数列表调用'components''

var hoy = dataFormatter.stringFromDate(NSDate()) var despues = dataFormatter.stringFromDate(fecha) var calHoy = dataFormatter.dateFromString(hoy) var calcDesp = dataFormatter.dateFromString(despues) let cal = NSCalendar.currentCalendar() let unit:NSCalendarUnit = .Day let components = cal.components(unit, fromDate: calcDesp, toDate: calHoy, options: nil) 

从Swift 2开始, NS_OPTIONS (例如NSCalendarOptions )被映射为Swift作为一个OptionSetType ,它提供了一组类似的接口。 特别是,“无选项”现在可以指定为[]而不是nil

 let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: []) 

另请参阅Swift 2.0 – 二进制运算符“|” 不能应用到两个UIUserNotificationType操作数和最近添加的答案如何在Swift中创buildNS_OPTIONS样式的位掩码枚举? 了解更多信息。

你不能作为你的选项参数通过零。 改为使用空白选项:

 let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: []) 

您还必须确保解包calcDesp和calHoy。

你也可以像下面这样使用rawValue

cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: NSCalendarOptions(rawValue: 0))