さまざまなタイプの多くの異なるView ControllerでviewWillAppear
の認証チェックを実行する必要がありますが、毎回再入力する必要はありません。また、チェックを終了するには、viewWillDisappear
に渡すハンドラ変数を追加する必要があります。ほとんどのviewWillAppear呼び出しで機能を実行
class ForumLanderViewController: UIViewController, AuthCheck {}
:
は、私は単純に(私は関数を実行する必要がフラグにAuthCheckを使用して)のようなものを含めることができるように拡張またはプロトコル(またはいくつかの他の方法)を介してこれを行うことができます私はその1つのプロパティを追加することができますので、クラス自体に変数を実装する必要はなく、このコントローラ用に自動的に実装されます。
拡張機能を使用して既存のクラスに新しい関数を追加するという考え方がありますが、viewWillAppear
とviewWillDisappear
にどのようにフックして、特定のビューコントローラの変数を単純なDRY方法で渡しますか?
これは技術的には正しいですが、私は特別な状況やあなたが何をしているのか本当に知っている場合を除いてはアドバイスしません。 1つは、メソッドSwizzlingはネイティブのSwift関数呼び出しでは機能しません.Objective-Cの動的メソッドディスパッチだけです。言語とOSが進化するにつれて、利用できなくなる可能性があります。 –
私は応答を感謝しますが、私は@ダンカンCのアドバイスにも気をつけて、うねりを避けるつもりです。両方のおかげで! –