Ceci est un morceau de code qui fonctionnait dans la version antérieure de swift. Il est maintenant donner une erreur (Impossible de convertir la valeur de type « NSDate » taper « NSDate.Date » dans la coercition)Extension NSDate ne fonctionne pas
extension NSDate {
struct Date {
static let formatterISO8601: DateFormatter = {
let formatter = DateFormatter()
formatter.calendar = NSCalendar(calendarIdentifier: NSCalendar.Identifier.ISO8601)! as Calendar
formatter.locale = NSLocale.current
formatter.timeZone = NSTimeZone(forSecondsFromGMT: 0) as TimeZone!
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssXXX"
return formatter
}()
}
var formattedISO8601: String { return Date.formatterISO8601.string(from: self as Date) }
}
En ce qui concerne Swift 3 votre code est un gâchis. Veuillez utiliser les structures natives Swift 3 'Date' (ce qui provoque l'erreur car elle est en conflit avec votre structure' Date'!), 'Calendar',' Locale', 'TimeZone'. – vadian
Cela semble être une extension de 'DateFormatter' et non de' Date' (mis à part le fait que le type 'Date' existe déjà et que vous déclarez un nouveau type ici ...). En outre, en fonction de votre cible de déploiement, vous pouvez utiliser la classe 'NSISO8601DateFormatter' introduite dans la dernière version. – floschliep