26 Stimmen

Wie funktionieren diese Bitmasken eigentlich?

Diese Methode von NSCalendar nimmt zum Beispiel eine Bitmaske:

- (NSDate *)dateByAddingComponents:(NSDateComponents *)comps toDate:(NSDate *)date options:(NSUInteger)opts

Optionen können also sein:

NSUInteger options = kCFCalendarUnitYear;

oder wie:

NSUInteger options = kCFCalendarUnitYear | kCFCalendarUnitMonth | kCFCalendarUnitDay;

Was ich nicht verstehe, ist, wie wird das eigentlich gemacht? Ich meine: Wie können sie die Werte herausziehen, die in options ? Wenn ich so etwas programmieren wollte, das eine Bitmaske verarbeiten kann, wie würde das aussehen?

0voto

NSGod Punkte 22276

Ich habe Calculator.app als hilfreich für die Visualisierung von Bitmasken empfunden. (Wählen Sie einfach Ansicht > Programmierer, und klicken Sie dann auf die Schaltfläche Binär anzeigen). (Sie können auf eine beliebige 0 oder 1 in der Binärtabelle klicken, um diese Bits ein- oder auszuschalten; oder Sie können Zahlen in Dezimal- oder Hexadezimalwerten eingeben (verwenden Sie das 8 | 10 | 16 NSSegmentedControl, um zwischen verschiedenen Darstellungen zu wechseln)).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X