UI 設定画面と論理演算子
背景
- UI設定画面の表示設定の実装
- できる人には難のないことだとは思うが、自分は いつも こんがらがるので、例をもとに整理する
例題
マップアプリで、ピンの種類によって表示を切り替えるようにしたい。
| ユーザ設定値 | 意味 | 公園オブジェクトで対応する変数名 |
|---|---|---|
| isPinWithAdminPhotoVisible | 管理者の撮った写真ありの公園のピンを表示 | hasPhotoByAdmin |
| isPinWithUserPhotoVisible | ユーザの撮った写真ありの公園のピンを表示 | hasPhotoByUser |
| isPinWithoutPhotoVisible | 写真なしの公園のピンを表示 | - |
| isPinOnlyWithChildEquipmentVisible | 子ども遊具のみの公園のピンを表示 | isAllEquipmentsForChildren |
| isPinOnlyWithRemovedEquipmentVisible | 遊具すべて撤去済の公園のピンを表示 | !isAvailable |
コードで書く場合は簡単なのだけど、and/or でつなげていく必要があるケースで、分からなくなる。
Mapbox の Exp で表現したいので、and/or でつなげるケースで実装が必要になったので、整理した。頭の体操だ。
その前に少し整理
1個の条件だけで「表示する」は確定しないので、
公園に管理者写真あり(タテ) x ユーザ設定で「公園写真あり」を表示(ヨコ) で表を作ると、こんな感じになると思う。
| 表示する設定(T) | 表示しない設定(F) | |
|---|---|---|
| 公園に管理者写真 あり (T) | - 未確定 | x 「非表示」で 確定 |
| 公園に管理者写真 なし (F) | - 未確定 | - 未確定 |
いつも、脳内で最初にこう考えてよく分からなくなってる気がする。
| 表示する設定(T) | 表示しない設定(F) | |
|---|---|---|
| 公園に管理者写真 あり (T) | o 表示する | x 表示しない |
| 公園に管理者写真 なし (F) | - 未確定 | - 未確定 |