私は大きなプロジェクトの 1 つに取り組んでいます。そのため、私のアプリケーションには多くのコーディングが含まれています。このプロジェクトの興味深い点は、メインビューが 1 つだけ含まれており、このメインビューに 25 のサブビューが含まれていることです。それは混乱を引き起こします。簡単にするために、サブビューごとに個別のクラスを作成したいと思いますが、mainviewviewcontroller でこれらすべてのクラスにアクセスする方法に慣れていません。それでも私の問題を理解できない人がいる場合は、このリンクにアクセスしてください。http://chris-software.com/index.php/2009/05/02/passing-data-between-classes/
3 に答える
あなたのコメントから、問題で言及したようなコードを既にコーディングしているように見えますが、コードをスケーラブルにし、zoul が提案したように分離しようとしています。
ズールが述べたように、あなたの問題も正確ではない、または具体的ではないため、問題に対する正確な解決策はありません。
残念ながら、コメントで述べたように、あなたが達成しようとしていることは完全には不可能です。しかし、コードをリファクタリングするときに役立つヒントをいくつか紹介しましょう。
- 異なるクラス間で共有する必要があるデータを決定します。
- アプリケーションのビュー コントローラーを決定します。これは、アプリケーションが必要とする可能性のある View Controller の数を意味します。また、View Controller の数を減らしてもタスクを達成できる可能性があります。
- 共有データのサイズがかなり大きい場合は、必要に応じて SQLite または CoreData を使用することをお勧めします。
具体的な質問は大歓迎です。頑張ってください:)
追記: Apple が提供する設計パターンに従うようにしてください。最も重要なのは、SDLC の初期段階です。
まず、コードを個別のコントローラーまたはビューに分割してください。そうしないと、苦痛の世界に入ります。次に、Stack Overflowで現在の質問に答えるのは難しいです。これはアーキテクチャに関する質問であり、適切に答えるには、問題についてより長い議論が必要になるためです。すぐに解決できるものはありません。
一般に、このような場合、個々の画面またはビューを、必要に応じて相互に接続できるインターフェイスを備えた個別のコントローラーとして構築する必要があります。(個々のコントローラーを設計して、他のコントローラーについてできるだけ知らないようにしてください。)次に、すべてのコンポーネントを作成してそれらを接続する1つのクラスを作成できます。それを助けることができる多くの特定のツール、特にUIViewController
iOS5で導入された包含APIがあります。