web-dev-qa-db-ja.com

NSYearCalendarUnitはiOSで廃止予定

NSYearCalendarUnitNSMonthCalendarUnitNSDayCalendarUnitを使用していますが、残念ながら、これらの「カレンダーユニット」はIOS 8.0。それらの代替は何ですか、またはこれらの警告をどのように回避しますか?.

unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;
28
developer

NSCalendarUnitYearを使用:

NSCalendarUnit unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth |  NSCalendarUnitDay;

元の質問のコードサンプルから、Objective-Cの回答を探していると推測しますが、Swift同等のものを探している場合は、次のようにします。

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

Swift 3では、同等のものは次のようになります。

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

これは正しいものです:

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