私は Swift 2 を使用して、このプロトコル指向プログラミングのクールさに追いつこうとしていますが、現在はかなり迷っています。
私は理論を実際のユースケースに適用しようとしているので、最も明白なものから始めましょう:
私が を持っていて、目的の動作を達成するためにメソッドに準拠してオーバーライドするUITextField
多くのプロトコル (電話、数値、長さ制限など) を持ちたいとしましょう。UITextFieldDelegate
textField:shouldChangeCharactersInRange:replacementString
「Extensions.swift」ファイルにこの拡張子を付けて、目的のプロトコルをUITextField
(数値、長さ制限など) に割り当てることさえ可能ですか? それは非常に便利です。もしそうなら、プロトコルをUITextField
コンセントに割り当てる方法はありますか、それとも a をサブクラス化しUITextField
て目的のプロトコルに準拠させる必要がありますか? この場合、古き良きサブクラス化よりもプロトコル拡張を使用する利点があまりないと思います。