Некоторые вопросы о побитовых операторах

Я читал сегодня о побитовых операторах, и они мне показались довольно удобными. Я также заметил, что Apple тоже их использует, например, с UIViewAutoresizing .

В моем приложении мне нужно отслеживать семь дней недели. Каждый день можно включить или отключить. Раньше у меня было семь BOOL , но теперь я m пытается использовать для этого одно целое число:

enum {
    DaysMonday = 1 << 0,
    DaysTuesday = 1 << 1,
    DaysWednesday = 1 << 2,
    DaysThursday = 1 << 3,
    DaysFriday = 1 << 4,
    DaysSaturday = 1 << 5,
    DaysSunday = 1 << 6
};
typedef NSUInteger Days;

У меня вопрос, как я могу включить / отключить эти значения сейчас? Я знаю, что могу проверить переменную дней для определенного дня следующим образом:

if (days & DaysThursday) {
    // thursday enabled
}

Но как мне ..

  1. включить четверг?
  2. отключить четверг?
  3. переключить четверг?
  4. включить все?
  5. отключить все?

Спасибо.

14
задан Rits 15 November 2010 в 12:03
поделиться