ios - Error de componentes del calendario Swift 2.0
nscalendar (3)
Hola, recibo este error en swift 2.0
No se pueden invocar ''componentes'' con una lista de argumentos de tipo ''(NSCalendarUnit, fromDate: NSDate ?, toDate: NSDate ?, opciones: nil)''
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)
A partir de Swift 2,
NS_OPTIONS
(como
NSCalendarOptions
) se asignan a Swift como
OptionSetType
que ofrece una interfaz similar a un conjunto.
En particular, "sin opciones" ahora se puede especificar como
[]
lugar de
nil
:
let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!,
options: [])
Consulte también Swift 2.0 - Operador binario "|" no se puede aplicar a dos operandos UIUserNotificationType y las respuestas agregadas recientemente a Cómo crear enumeraciones de máscara de bits de estilo NS_OPTIONS en Swift? para más información.
No puede pasar nulo como argumento de opciones. Utilice un conjunto de opciones vacío en su lugar:
let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: [])
También debe asegurarse de desenvolver calcDesp y calHoy.
También puede usar
rawValue
la siguiente manera:
cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: NSCalendarOptions(rawValue: 0))