本日も A Swift Tour
から、まずは前回からの続きの Error Handling
の最後のパートを眺めます。
そしてその後に時間があったら、この章の最後の章にあたる Generics
へと進んでいきます。こちらの話題はとても広大で難しいところですけれど、まずは Swift ツアーとして Apple がどんなあたりに着目しているのか、そんな感じにざっくりと捉えていけたらいいかなって思っています。
どうぞよろしくお願いしますね。
—————————————————————————————————————— 熊谷さんのやさしい Swift 勉強会 #74
00:00 開始 00:41 複数の catch によるエラー対応 01:29 練習問題 02:13 エラー送出の見通し 03:47 エラーの捕獲 04:49 関数からエラーを送出する方法 07:08 try? 07:34 エラーの種類を気にする必要がないとき 08:35 try? を使ってみる 12:22 エラー情報が欠落する 13:13 do-catch も捕捉もれに注意 14:11 網羅性における switch 文との性格の違い 16:30 try! 17:16 エラー対応における defer の扱い 17:43 defer の特徴 18:00 エラー処理と defer を組み合わせたときの効能 18:52 エラー対応における defer の例 24:07 do の中で defer を書くと? 28:33 みんなの予想 31:25 実際の挙動 32:03 catch 内で値がどうなっているかに影響する 32:07 do ブロックの中に含めるかどうかの見極めが大切 34:30 defer の実行タイミング 35:56 defer の動きを再現する 36:30 defer は finally のように使える 37:23 defer の finally とは異なるところ 38:38 return の直後に動く defer ブロック 40:49 質疑応答 41:20 defer ブロックを途中で抜けるには? 42:24 guard の中で制御構文を使える場面 42:45 defer の中で guard は使える? 45:30 guard の中で fatalError を使う 46:41 変数の生存期間と withExtendedLifetime 関数 48:46 いったんクロージング 49:21 インクリメント演算子を guard を使って実装する例 51:56 質疑応答 52:53 インクリメント演算子の実装における guard の挙動確認 53:36 インクリメント演算子を defer を使わずに実装した場合 55:02 クロージング ——————————————————————————————————————