月曜日から日曜日までの日数のあるテーブルビューがあります。私はビットマスクを使用してそれらのすべてを選択/選択解除することができます。スイフト。平日のビットマスク。スイッチビット
たとえば、すべてを選択すると、1111111
はバイナリ、127は10進数になります。列挙型の例を見つけましたが、列挙型からIntegerを取得し、必要に応じてその数値を選択した日に変換する方法を認識できません。
テーブル内のすべての日を選択した後、そのテーブルを残してもう一度開いたとします。だから私のデータでは、私は選択したすべての日を表す127を持っています(たとえば、2日または3日を選択できます)。だから私はその日を選択してマークしたいと思っています。しかし、私は小数点を持っています。
これを行うにはどうすればよいですか?
そして、どのようなもの、このようにする必要がありswitch
の書き方、私は推測する:ここでは
func markDaysAsSelctedWith(number: Int)
{
switch (number) {
case Days.Monday
case Days.Sunday
}
は私の問題です:私は選択した日の水曜日と木曜日を表現するために数12を使用する場合:
その後、動作しません切り替えるM = 1,
Tu = 2,
W = 4,
Th = 8,
F = 16,
Sa = 32,
Su = 64
...
は、この例を見てみましょう'OptionSet'を使用してhttp://stackoverflow.com/a/24066171/2099148 –