Swift独学プログラミング プログラミング初心者のReactiveでの設計〜考え方編〜

あっ どうも子へびです。

今年は雪降らずに冬を越せるのかな?なんだか暖かい日も多く真冬コートよりハーフコートの出番が多かったかな?っと冬の話題とともに朗報が。今までiPadでしか使えなかったアプリ『play ground』のMac版がでたらしいですね。子へびもやってみようかな?iPadをこのアプリやるために買った方がいいかしら?と一時期本気で思ったぐらいなので興味津々です。ちなみにMaster松陰もオススメでした。




さてなんで子へびがこんな話をしているかもう感の良い方はお分かりですね?
そうです子へび行き詰まってます・・・。

Swiftでの言語表現能力が足りてないのかはたまた根本的にアイディアが不足しているのかまあ子へびのことなので全部なのでしょうが気分転換にこの記事を書いております。笑




とある日の会話

課題
子へびは今4つのボタンをタップするとボタンの色が変わるUIを作成しています。

子へび

アウトレットでつないでボタンの色を変えようとしてるのですがなぜだかうまくいかないです。繋げ方の手順は間違っていないと思うのですが・・・。

Master松陰

そもそもアクションボタンのアウトレットで繋ぐ方法は今回子へびが作っているリアクティブの方法では使わないよ。コードで記述するのよそれを。そしてヒントはボタンをタップされたってアクションだけにフラッグをつけて処理を行う。そしてまた次の処理を書く。

子へび

ということは・・・。日本語に訳すと『○○が○○』っとコードを書いて決して『○○が○○だから○○となり○○』のように接続詞がつかないということですか?

Master松陰

なかなか良い所にきがついたね。リアクティブの作り方はそれぞれに
役割を与えて1つの処理しか行わない。その処理を組み合わせて作っていくんだよ。

この考え方をもとにボタンタップアクションを書き上げた子へびですが、実際このアクションを1つのファイルに全て書き込んでしまった子へびを見つけて

Master松陰

全て同じファイルに持たせるわけじゃなく、view・presenter・controllerそれぞれに振り分けて処理させる必要があるね。viewが持つ必要ない処理までこれだと全て入り混んでるよ。

っと言われ分解し始めた子へびですが、ここで1つの大穴が・・・。

子へび

せっかく動いていたのにバラしたら本当にバラバラになってわけが分からなくなってしまった・・・。これでは全然情報が行き渡らないよ。

そうなんです。3つのファイルを頭に置きながらどのタイミングで何の情報がどこのファイルに必要なのかを考えながらコードを整理することが全然慣れていなくて、きっとコツを掴んだら平行処理されることに頭がついていくんでしょうが子へびにはまだその考え方が全く浸透しておりません。

子へび

バラバラになってしまった・・・。

と本当につぶやきましたよ子へび。笑

何度となく分解と再構築を経てコードをそれぞれ振り分けはできたのですが、

Master松陰

ちょっと無駄が多いコードね。もっと数行にまとめられるはずよ。

っと言われただいま次のステップに進んでいるわけなのですが、そこで

子へび

またバラバラになってしまった・・・。

っというわけです。笑
ということでただいま子へびは絶賛どハマり中です!

子へび

とほほ・・・。

バラバラになってしまった時のあの喪失感といったらたまらないですよね。笑




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA