アプリケーションに実装している検索バーを設計する方法を理解しようとしており、優れたコーディング プラクティスに関するガイダンスが必要です。検索バーがあります。検索バーを編集すると、ポップアップ コントローラーが表示され、履歴結果が表示されます。私の検索バーは、次の場所にある Apple の例と非常によく似ています。
目標: 誰かが私のコードを再利用したい場合、クラスをコピーして検索バーを使用するだけでよい、モジュール式の自己完結型の実装が必要です。(そしてもちろん、読みやすく、クリーンで、効率的であるなど、他の明白なことも)
Apple が彼らの例で行っている方法は、2 つの異なるクラスを持つことです。1 つ目は検索バー自体のコントローラーで、ポップオーバー ビューを管理します。最近の結果を管理する UITableViewController のサブクラスである 2 番目のクラスがあります。最初のクラスは、ポップオーバー コントローラー内で 2 番目のクラスを利用します。
このアプローチに関する私の問題は、両方のクラスが結合されており、2 つの異なるクラスが必要な理由が理解できないことです。したがって、これを構造化する最善の方法は何でしょうか: 単一のクラスにリファクタリングする、ヘルパー クラスを作成する、そのままにしておくなど。