Swift 2.0日历组件错误
Swift 2.0 calendar components error
嗨,我在 swift 2.0
中收到此错误
无法使用类型为“(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
)作为 OptionSetType
映射到 Swift
它提供了一个类似集合的界面。特别是 "no options"
现在可以指定为 []
而不是 nil
:
let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!,
options: [])
另见
以及最近添加到 How to create NS_OPTIONS-style bitmask enumerations in Swift? 的答案以获取更多信息。
您不能将 nil 作为选项参数传递。请改用空选项集:
let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: [])
您还必须确保解包 calcDesp 和 calHoy。
您也可以像下面这样使用 rawValue
:
cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: NSCalendarOptions(rawValue: 0))
嗨,我在 swift 2.0
中收到此错误无法使用类型为“(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
)作为 OptionSetType
映射到 Swift
它提供了一个类似集合的界面。特别是 "no options"
现在可以指定为 []
而不是 nil
:
let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!,
options: [])
另见
您不能将 nil 作为选项参数传递。请改用空选项集:
let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: [])
您还必须确保解包 calcDesp 和 calHoy。
您也可以像下面这样使用 rawValue
:
cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: NSCalendarOptions(rawValue: 0))