私はSwift 3とObjective-Cに関する独自のパラダイム構造を学ぶ過程にあり、私は何を作るのかわからないデザインパターンに遭遇しましたでる。私は直接質問をレイアウトしてみましょう。クラス内でプロトコルを実装するクラスを拡張する
以前のObjective-Cでは、クラス自体にプロトコル/デリゲートを実装できます。私はこれに非常に似ているスウィフト同等物があることがわかります。
例:
class myClass : UIViewController , UITextFieldDelegate {
// somewhere inside the class we implement the delegate of
// UITextfieldDelegate, something like this
func doSomething(){
theTextField.delegate = self
}
func textFieldDidEndEditing(_ textField: UITextField) {
// works just fine
}
}
さて、これは我々がObjective-Cでそれをやった正確にどのようにあります。しかし今、私はクラスでプロトコル/デリゲートを実装する別の方法を得ています。
class MyClass : UIViewController , UITextFieldDelegate {
func doSomething(){
theTextField.delegate = self
}
}
extension MyClass : UITextFieldDelegate{
func textFieldDidEndEditing(_ textField: UITextField) {
//Even this works fine
}
}
今私は困惑しています。これは委任パターンを実装するもう1つの方法ですか、それともこれ以上のことがありますか?これは単なる設計パラダイムですか、それとも他の目的もありますか?
これはまともな関連記事です:https://www.natashatherobot.com/using-swift-extensions/ – DonMag
大文字で始まるクラスに名前を付けるのは迅速です。ところで 'EQHomeViewController'を' MyClass'の代わりに に拡張しています –
@LeoDabus私の悪いですが、タイプミスを無視してください。私はそれらを編集した –