プロジェクトに30以上のビューコントローラがあり、そのうち28に追加される動作があります。
そのビューコントローラで10秒が経過していない場合にボタンがクリックされると、上からスライドするアラートビューを表示する必要があります。(私はすでにそれらの1つにこの動作を実装しています)
しかし、私の質問は、これらすべてのビューコントローラーに対して適切な方法でこの動作を継承するにはどうすればよいかということです。
これをグーグルで検索しますが、関連する解決策を見つけることができません。
プロジェクトに30以上のビューコントローラがあり、そのうち28に追加される動作があります。
そのビューコントローラで10秒が経過していない場合にボタンがクリックされると、上からスライドするアラートビューを表示する必要があります。(私はすでにそれらの1つにこの動作を実装しています)
しかし、私の質問は、これらすべてのビューコントローラーに対して適切な方法でこの動作を継承するにはどうすればよいかということです。
これをグーグルで検索しますが、関連する解決策を見つけることができません。
この機能を必要とするすべてのビューコントローラがのサブクラスであるUIViewController
場合、つまり、のサブクラスではないUITableViewController
場合、またはのサブクラスである場合は、複製する必要のある機能を実装する、たとえば(または意味のあるもの)UIViewController
のサブクラスを作成できます。次に、この機能を必要とするすべてのクラス に、の代わりにクラスをサブクラス化します。UIViewController
ButtonClickAlertViewController
ButtonClickAlertViewController
UIViewController
この特定の機能が個々のViewControllerクラスのそれぞれにどのように統合されるかを考慮する必要がある場合があります。たとえば、ButtonClickAlertViewController
タイマーをチェックしてアラートを表示するために、ボタンがクリックされたことを通知するメソッドがクラスに必要な場合があります。サブクラスの各クラスでは、ボタンクリックアクションが呼び出すButtonClickAlertViewController
各メソッドでこのメソッドを呼び出す必要がある場合があります。IBAction
すべてのViewControllerに対して目的の動作をサブクラスUIViewController
化して追加してから、既存のViewControllerをviewControllerから目的の動作でサブクラス化します。
継承チェーン:
UIViewController-> ViewControllerWithBehaviorForAll-> YouExistingViewlContollersWhichNeedTheBehavior