Ho lavorato a un'app di orologio in Swift e con Xcode 6.3.2 il codice seguente si sviluppa e funziona perfettamente.Differenze nella sintassi NSDateComponents?
// Get current time
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .CalendarUnitSecond | .CalendarUnitNanosecond, fromDate: date)
let hour = components.hour % 12
let minute = components.minute
let second = components.second
let nanosecond = components.nanosecond
Tuttavia quando carico lo stesso progetto in Xcode 7.0 beta e non fare cambiamenti di sorta, ottengo un errore sulla linea calendar.components.
Could not find member 'CalendarUnitHour'
Ho guardato la documentazione e tutte le costanti NSCalendarUnit sono obsolete (in iOS 8.0 si dice), ma la descrizione del metodo per il metodo componenti dice ancora di usarli.
Ho giocato con altri valori di completamento automatico NSCalendarUnit ma nessuno produce codice funzionante e non riesco a trovare alcun esempio recente online, forse perché è nuovo di zecca.
Qualcuno conosce il nuovo modo corretto di farlo?
Grazie! Mi stava facendo impazzire. Il mio codice è pulito al 100% ora. :-) – zkarj
Un altro cambiamento ridicolo senza alcun modo di capirlo oltre a trovare questa domanda SO. Grazie Apple! (sarcasmo). Grazie Eric! (non sarcasmo). – lespommes
A causa di modifiche al nome in Swift 2, mi ha dato errore "Tipo di espressione è ambiguo senza più contesto". –