今回は、前々回から眺めている プロトコルと拡張
の最後のセクションになります。前回に話しきれなかった 条件付き準拠
のあたりを見てから、続いて プロトコルを型として扱う
ところを確認していく感じになりそうです。プロトコルを型として扱うことについてはこれまでにも時折ふれていますけれど、復習ついでに改めてそれに着目しなおしてみることにしますね。どうぞよろしくお願いしますね。
———————————————————————————————————— 熊谷さんのやさしい Swift 勉強会 #66
00:00 開始 01:09 条件付きプロトコル準拠 04:00 条件付きプロトコル準拠がなかった頃の実装 07:56 条件付きプロトコル準拠が使えるようになると 09:35 型パラメーターの違いがプロトコルの準拠性に影響 10:11 要素の準拠性に応じてそれを内包する型の準拠性も変えていく 10:29 条件付きプロトコル準拠と、プロトコル準拠の合成 13:43 条件付きプロトコル準拠とオーバーロード 16:33 オプショナル型でも条件付きプロトコル拡張が役立つ 17:06 独自の型との条件付きプロトコル準拠の組み合わせ 17:20 プロトコル拡張では条件付きプロトコル拡張できない 19:21 プロトコル準拠の合成が行われるプロトコルの種類 20:58 自動準拠が適用されるプロトコル 21:39 Comparable プロトコルは自動的には合成されない 22:16 ひとつにまとめて比較するか、辞書順で比較するか 23:18 プロトコルが自動準拠されるかどうかは言語仕様で決まっている 24:11 プロトコル名を型として扱う 24:34 インターフェイスとして扱う 25:06 存在型 26:14 存在型の特徴 26:50 存在型にはリテラルが型に変換されてから代入される 28:45 ジェネリックなプロトコルは存在型として扱えない 29:56 Self を返すだけならジェネリックなプロトコルにはならない 31:20 引数で Self を使うとジェネリックなプロトコルになる 32:01 戻り値が Self でもジェネリックとされない理由 35:22 存在型はそのプロトコル自身には準拠しない 37:39 存在型をそのプロトコルに準拠していると見做せない理由 40:49 次回の展望 ————————————————————————————————————