0

主に整数駆動の状態遷移テーブルを使用しているため、有効な値に多数の列挙型を使用するiOSアプリがありますが、メモリ使用量を減らし、SQLiteでインデックス検索する機能も使用しています。バックエンド。

列挙型に基づいて変数を作成する多くのクラスに含まれる共通の .h ファイルにすべての列挙型があります。また、多くのクラスで使用されるメソッドもいくつかあります。それらのいくつかは、typedef と (人間の) 言語をパラメーターとして、列挙型を文字列に変換しています。

typedef の 1 つを以下に示します。

typedef enum {
    Ben,
    Sen,
    O,
    Biz,
    Siz,
    Onlar
} pronoun_typedef;

メソッドの別のセットもあります。主に文字列操作で、いくつかのパラメーターが与えられ、NSString*またはを返しますNSMutableString*

私はすでにこれらを別のクラスに数回移動しましたが、最善のアプローチは「ユーティリティ」クラスを作成して関連する各クラスに含め、必要に応じてインスタンス化することだと考えています。

これは良いアプローチですか?私が検討したもう 1 つのオプションは、シングルトンを作成し、それを必要とするすべてのクラスに前方参照することです。どのアプローチを使用するか、または他のアプローチに関する提案はありますか?

これはこれや他のいくつかの質問と同様の質問であることは知っていますが、最終的に答えられたとは思わなかったので、もう一度質問したいと思いました. シングルトンおよび静的ユーティリティ クラス

4

1 に答える 1

1

ユーティリティ メソッドが自己への参照を必要としない場合は、それらを定数と同じモジュールで定義された C 関数にします。定数定義と関数宣言 (プロトタイプ) を含む .h ファイルと、関数本体が定義された .c ファイルが必要です。

オブジェクトである必要がある場合、単一のインスタンスが理にかなっている場合はシングルトンを使用し、それぞれが内部データ/状態のプライベートで独立したコピーを必要とする場合は複数のインスタンスを使用します。

于 2012-06-16T07:18:16.530 に答える