1

「グッドデザイン」の観点から。すべてのアプリ レベルの共通コードに appDelegate クラスを使用する必要がありますか? 言い換えれば、私は多くのView Controllerができるようにする必要がある多くのことを持っています. つまり、これは共通の機能であり、単一のビュー コントローラーに固有のものではありません。問題は、これらの一般的なメソッドを appDelegate に格納する必要があるかどうかです。そのためですか?別の別のクラスを作成する必要がありますか?

私が話す一般的な機能のいくつかの例を次に示します。

1) 一般的な音 (エラー音など) を鳴らします。

2) アラート メッセージ (エラー メッセージなど) を表示します。

3) 特定の型 (10 進数 - 数値) である必要がある入力を検証する方法

4) Web サービスからアプリレベルのデータを更新する

4

2 に答える 2

2

一般的な関数をすべて appDelegate クラスに入れるのは得策ではありません。

1 & 2) スーパー クラスを作成し、すべてのビュー コントローラーがそれを継承するか、カテゴリを使用することができます。

3 & 4) 通常の関数クラスを作成して達成できます。たとえば、あなたのクラス名は Function で、クラスメソッドがあります。それを使用するには、単純に [Function validate:yourdata] を呼び出してブール値を返します。

于 2012-11-15T14:34:39.180 に答える
1

データ関連の場合、アプリに別のモデル レイヤーを用意するのが最も理にかなっています。ビュー コントローラーの動作方法に特に関連するコードである場合は、共通のスーパークラスまたはUIViewControllerカテゴリでさえ、適切なソリューションのように思えます。

アプリ デリゲートは、基本的なアプリケーション構造 (モデル レイヤーとコントローラー レイヤーの接続を含む場合があります) のセットアップと、そのライフ サイクルの処理に関するものだと考えています。

于 2012-11-15T14:19:59.123 に答える