Lors de la lecture de la documentation here, je suis tombé sur ceci:OU des constantes Bitwise
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
Je ne sais pas comment cela fonctionne. J'ai lu sur les opérateurs bit à bit en C, mais je ne comprends pas comment vous pouvez tenir trois constantes (ou plus!) Dans un int et plus tard être en mesure de les extraire d'une façon ou d'une autre de l'int? Creuser plus bas la documentation, j'ai aussi trouvé ce qui est probablement lié:
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;
Comment les états (1 << 3)
/variables travail? Je suis désolé si c'est trivial, mais quelqu'un pourrait m'éclairer en expliquant ou peut-être poster un lien vers une bonne explication?
Cela ressemble à l'objectif-c? Est-ce que c'est mal étiqueté? – SoapBox
@SoapBox: L'exemple est en effet tiré de Cocoa, mais il est vraiment droit C. – ryyst
Cette deuxième ligne de code n'est pas C, pas de loin. – SoapBox