名称未設定

Swift/Kotlin愛好会 合同執筆本 Love Swift2章,3章,4章、10章感想

2章「サクッとお天気iOSアプリを作ってiOSエンジニアになる」

実際のコードを拝見しながら読んだ。

一番クラスやstructのこと、リクエストのことを、知らない時期に読みたい章だと思った。でかいViewでとりあえず試して動くのはできるけどどうやって役割分けをすればいいのかわからなかった時代に、これを読めば更に理解が深まりそう。

これみながら

classとstrutの違い
structにできてclassにできないことはない事はありません。ただし、classはいろいろ出来すぎてしまう事から、この定義が何を意図しているのかわかりにくい事があると考えられる。

無意識でstructを選択していたけど、こういう考え化があることを再認識できてよかった。

三章 「Closureを理解する」

手続き型なEvenNumbersの作り方と関数型なEvenNumbersの作り方でそれぞれ比較されててわかりやすいと思った。なんとなくClosureを使っているけど、改めて内部実装はどうなっているんだろうと考えなおすきっかけになった。

お題の本質である「2で割り切れる数」すなわち関数の判定コードになります。これらの余計なコードが要らず、少ないコードですぐに本質にたどり着ける
let originalNumbers = [0,1,2,3,4]
let evenNumbers = originalNumbers.filter{ (number) -> Bool in
   return number % 2 == 0
}

これはなるほどなと思った。filterの内部実装はどうなってるんだろう?

extension Array where Element == Int {
   func filter(_ isIncluded: (Int) -> Bool) -> [Int] {
       var result: [Int] = []
       for element in self {
           if isIncluded(element) {
               result.append(element)
           }
       }
       return result
   }
}


filterの内部実装は今度調べてみよう

この数値がほしい数値であるかどうかの「計算法」をもらえれば仕分けが可能になる
この「数式」こそが「Closure」の正体

なぜクロージャーを使うといいのかがfilterという関数を通して理解するというが、クロージャーという理解しにくい概念を、filterという身近な関数を使って説明しているのがとてもいいと思った。
またClosureが使えない場合、Delegateパターンを使う必要があるとこんなに大変だよということも説明されており、わかりやすい。

4章

SwiftでCLIは全くやったことない分野で、はじめての項目が多かった。
iOSアプリばっかりだけど、SwiftはサーバサイドでもCLIでも電子工作でも色んな分野で使えそうという幅を感じた。

10章

漫画でiOSアプリ開発チュートリアルという挑戦的で良かった。15分くらいでできるって書いてあるのは、やってみようかなという人の背中を押すのではないかなぁ。また、絵で書いてあるから、ポチポチすればできそうという最初の一歩を踏み出す時に良さそう。小学生に見せると作ってみようかなってなってくれそうな気がする。



エンジニアとして働いている成長記録やおもしろいと思ったこと色々書いていこうとおもいます 頂いたご支援は、資料や勉強のための本、次のネタのための資金にし、さらに面白いことを発信するために使います 応援おねがいします