2017年4月6日木曜日

VC脳

仕事でVCというか、20年前くらいに枯れ果てた環境ばっかり弄ってると、

「コントロールの数だけ、メンバ変数作ってDDX的にやればいいよね」
という楽な方に思考が逝ってしまう

勿論楽なのは最初だけで、複雑になればなるほど
吐き気がするコードになるのもVCと一緒。

大量にコントロールを貼って、


InterfaceBuilderからOutletとAction作ってる途中で
駄目なことには気づいてるんだけど、
最初にスクラッチする段階の楽さを選んでしまう

とりあえず基本のタイマー機能はできたことだし、
ダークサイドに完全に落ちる前にリファクタ

【第1段階】

NSUserDefaultのキーを、コントロールのTagに持たせて
コントロール列挙で読み出し・保存しようかと思ったけど

ああ、Tagって整数だっけそいや

じゃあDictionary作って、キー文字列と、Tagを連装連想配列にして
ブリッジしてあげればいいか


単一キーと、複数キーを指定して、UIView(UIView配列)を返すようにする。

同じことを繰り返しているコードは結構減った。
でもまだなんか力技で解決しただけで、効率化してないし、めんどくさい。


【第2段階】
Dictionaryを使うと、文字列キーなので検索性おまかせだけど、文字列一致しかできん
Value部をAnyにしとけば、データは単数でも複数でも入るけど、所詮キーが単一辞書引き
とりあえず辞書は破棄でち

・どこからデータ引っ張ってくるか
・どういう加工をするか
・どういうイベント時に飯能反応するか
をTupleで保持して、Arrayに突っ込む




あとは好きな条件をキーにしてfilterをかければいいか


複数条件の場合は、containsをクロージャーで判断すればいいし

これでベタ書きのコードが1/10くらいに圧縮できるな

Swift3.0たーのしー

MFCが組めなくなるフレンズさんになりそう



0 件のコメント:

コメントを投稿