【Xcode】 ダークモード対応2

iOS 13の新機能であるダークモードへの対応方法は、AppleのDocumentationを読む限りsemantic colorsとAsset Catalogを使うのが正しい方法である、と私は解釈しました。
なるほどこれで問題なし、というわけにはいかなくて。
例えばWeb上から取得して表示する画像を外観モードに応じて変更する必要があるとしたら?
画像を取得するときの時刻や場所など、状況に応じて違う画像を取得するような場合では?
その画像を表示する際には色補正などの加工を行なっているとしたら?
やり方にもよりますが、ダークモード対応を真面目に行うのは結構面倒かもしれません。

そんなことを考えていたら、私は恐ろしい着想を得てしまいました。
プログラミングにおいて「軽さ」は重要です。
処理速度の面でもデータ量の面でも、あらゆる観点で「軽い」プログラムとなるように全力を尽くさなければいけません。
実用上軽さが必要かどうかというのではなく、それ以前の倫理、常識と言ってもいいかもしれません。
軽くする努力を怠ってはいけないのに。

UIViewを外観モードに応じて変更するのではなく、ライトモードなUIViewとダークモードなUIViewという2つのUIViewを作ればいいのではないかという案です。
全てのUIViewをbaseViewLightとbaseViewDarkにaddSubviewして、ライトモードのときにbaseViewDarkをisHiddenするのです。
描画コストは2倍になりますが、追加するアルゴリズムは最小限で済むので最もバグが生じにくい方法だと思います。

職業プログラマーには、そして例え1円でも収益を上げているアプリには、絶対許されない最低な方法です。
しかしモラルを無視すれば…、魅力的なアイデアです。
私はこの案を採用してしまうかもしれない。