web-dev-qa-db-fra.com

NSYearCalendarUnit déconseillé dans iOS

J'utilise NSYearCalendarUnitNSMonthCalendarUnitNSDayCalendarUnit mais malheureusement, ces "unités de calendrier" sont signalées comme obsolètes en premier dans IOS 8.0. Quelle est leur alternative ou comment éviter ces avertissements.

unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;
28
developer

Utilisez NSCalendarUnitYear:

NSCalendarUnit unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth |  NSCalendarUnitDay;

Je déduis de l'exemple de code dans la question d'origine que vous cherchiez une réponse Objective-C, mais pour ceux qui recherchent Swift équivalent, vous feriez:

let unitFlags: NSCalendarUnit = [.Year, .Month, .Day]

Remarque, dans Swift 3, l'équivalent serait:

let unitFlags: Set<Calendar.Component> = [.year, .month, .day]
45
Rob

C'est correct:

let flags: NSCalendarUnit = .CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay
1
Nagarjun