嗨,我在swift 2.0中收到此错误
无法调用类型为’(NSCalendarUnit,fromDate:NSDate ?, toDate:NSDate ?,选项: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:
NS_OPTIONS
NSCalendarOptions
OptionSetType
[]
nil
let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: [])
另请参见[Swift 2.0-二进制运算符“ |”无法应用于两个UIUserNotificationType操作数 以及最近添加的关于如何在Swift中创建NS_OPTIONS样式的位掩码枚举的答案?想要查询更多的信息。