【swift challenge】デリゲートメソッドは難しい

どーも!

 

3月のライオン13巻まで読んでモチベーションがあがってるチダです!

 

二海堂の常に前を向いたメンタルのあり方とか、ひなちゃんのいじめに対する姿勢とか、れいちゃんの本当にひたすらなまっすぐさとか、島田さんの渇望とか。やばい、俺も頑張らなくては、ってきになるよね。もうほんと2月のトラ(?)になるしかない、と。

 

そう、Swiftガンガン学んでたんですよ!

で、一度見ただけじゃわかりにくい、デリゲートメソッドについてまとめようという感じです。

デリゲートメソッドってそもそも何だろう。

 

ウェブで調べるとやたら、「初心者が挫折する…」とか「つまづきやすい」とか書いてあるんだけど、確かに少し難しいなって感じる。

これは時間をかけてでもある程度のところまではちゃんと理解したいところだ。

 

Udemy先生の資料はなんとおっしゃっているのか。

f:id:shotaro-chida:20180212114122p:plain

 

ふむふむ、勝手に呼ばれるメソッドと。

 

UITextField, UIWebView, UITableViewなどで独自のメソッドを持っているとのことだが、これは頭の端に置いておけばいい系のやつだ。都度調べよう。

 

そもそも僕が今練習で作ろうとしているのは、SNSなどで使うウェブフォーム的なやつだ。こんなやつ。

f:id:shotaro-chida:20180212114719p:plain

このレッスンの完成形は、サインインを押すと、結果の部分にメールアドレスとパスワードがくっついたものが出力される、というものです。

 

現時点では全く実用性ないが、サインインや入り口の処理を作るにあたって、このトレーニングは必要なこと。

 

ViewDidLoadでキーボードが自動で現れたり、returnを押すとキーボードが消えたりという処理も1個1個書いていく。プログラムって予想以上に何するかを1個1個定義していかないとかけないのね…

 

SNS連携がない?知らん!あとで実装する!

色がセンスない?知らん!あとで変えてやる!

 

Udemy先生に教わりながら、まずはこの画面をつくるんだ。

それで必要になった概念が「デリゲートメソッド」

 

どうやら決まったルールがあるらしい。

キーボードを出したり閉じたりするのに、デリゲートメソッドを使えば func (){}とかで機能を作らなくても元からあるものでサクッと行けるのが、これの便利なところらしい。

 

もうデリゲートメソッドっていうのダルいから、「デリー」と呼ぼう。

書いてる途中あまりにも自分の中で定着しなかったので、デリゲートメソッドのままでいいやと思いました。笑

 

まずは手順。

f:id:shotaro-chida:20180212121656p:plain

f:id:shotaro-chida:20180212121729p:plain

f:id:shotaro-chida:20180212121714p:plain

 

キーボードの出し方、閉じ方はこのような感じ。ふむふむ

f:id:shotaro-chida:20180212113802p:plain

 

リターンキーを押した時に呼び出すのはこちら。

f:id:shotaro-chida:20180212113815p:plain

 

こちらを利用しながらコードを書いていく。

しつこいくらいに//コメントを入れながら書いていく。

 

ちょっとガタガタになってしまっていますが、許してください。

f:id:shotaro-chida:20180212135841j:plain

f:id:shotaro-chida:20180212135904j:plain

f:id:shotaro-chida:20180212135916j:plain

f:id:shotaro-chida:20180212140031j:plain

期せずして、途中緑間がいましたね。笑

深夜のテンションでノリで書いてたので、あんまり覚えていませんw

 

で、出来上がったのが…!!

 

youtu.be

 

途中、keyboardが出てこなかったり苦労しつつも、quiitaで調べつつ、出来上がった!

とりあえず、キソのキソですが、達成感あるなぁ!

 

さてさて、次行きますか!ではまた!

 

 

 

 

 

 

 

 

 

 

 

 

 

3月のライオン新刊早く出ないかなぁ