Czytając niektóre dokumentacji here, natknąłem się na to:bitowe OR stałych
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
nie mam pojęcia jak to działa. Czytałem operatory bitowe w C, ale nie rozumiem, w jaki sposób można dopasować trzy (lub więcej!) Stałe wewnątrz jednej int, a później można je w jakiś sposób wydobyć z powrotem z int? Kopanie w dalszej części dokumentacji, znalazłem również to, co jest prawdopodobnie związane:
typedef enum {
kCFCalendarUnitEra = (1 << 1),
kCFCalendarUnitYear = (1 << 2),
kCFCalendarUnitMonth = (1 << 3),
kCFCalendarUnitDay = (1 << 4),
kCFCalendarUnitHour = (1 << 5),
kCFCalendarUnitMinute = (1 << 6),
kCFCalendarUnitSecond = (1 << 7),
kCFCalendarUnitWeek = (1 << 8),
kCFCalendarUnitWeekday = (1 << 9),
kCFCalendarUnitWeekdayOrdinal = (1 << 10),
} CFCalendarUnit;
jaki sposób oświadczenia (1 << 3)
/zmienne działa? Przepraszam, jeśli to banalne, ale czy ktoś mógłby mnie oświecić, wyjaśniając, a może zamieszczając link do dobrego wyjaśnienia?
To wygląda jak cel-c? Czy to jest źle oznakowane? – SoapBox
@SoapBox: Przykład rzeczywiście pochodzi z Cocoa, ale naprawdę jest prosty C. – ryyst
Ta druga linia kodu to nie C, a nie długie ujęcie. – SoapBox