私は、ボタン、ビュー、レイヤーを追加し続けるCocoaアプリケーションを作成しています。しかし、これらすべての追加のために、私のappdelegateクラスはかなり大きくなり、読みにくくなっています。そこで私は、UI関連の呼び出しのいくつかを他のクラスに移動させることを決めました。しかし、UI呼び出しはメインスレッドでのみ行われ、appdelegateから(私が間違っていれば私を修正する)必要があるようです。呼び出しを他のクラスに移動する私の実験でも、すべてがメインスレッド上で正しく実行されたことを確認することが難しくなりました。したがって、私のUI呼び出しはすべて、依然としてappdelegateクラスから呼び出されます。Cocoaアプリケーションを設計する
私の質問は、私のアプリケーションのデザインを改善する方法ですか?スレッドを使用する際の問題を回避する方法で、UIをappdelegate以外のクラスから呼び出すことはできますか? appdelegateクラスをボタン、ビューなどの厳しいファイルに分割することはできますか?または、アプリケーションを設計するより良い方法がありますか?例やチュートリアル/書籍へのリンクに関する提案は非常に高く評価されています。
ありがとうございました。乾杯、トンド
これは 'Cocoa'でタグ付けされているので、あなたはMacで作業していると思いますよね? –
はい。私はMacで作業していることをより明確にすべきでした。 –
AppKitは、あなたがアプリケーションオブジェクトのデリゲートからやっていることやしていないことを気にしません。特定のオブジェクトのデリゲート内になければならないのは、そのデリゲートプロトコルのメソッドだけであり、通常はその一部だけです(通知メソッドはどこにでも実装できます)。ビューの描画コードはビュー内にある必要があります(別のオブジェクトからのビューを描画しないでください)。これらとは別に、与えられた種類のコードを特定のクラスに含める必要はありません。 –