0

複数の場所で文字列の配列 (チーム名としましょう) を頻繁に参照する必要があります。その配列の内容は変更されません。

これを実現するために、独自のクラスを定義しましたMyConstants。ヘッダーでは、無関係な定数文字列と数値をいくつか定義しています。実装ファイルでは、クラスをシングルトンにしてから、クラス メソッドを追加しましたarrayOfTeamNames

配列にアクセスするには、[Constants arrayOfTeamNames] を使用します。

私はこれを受け入れますか?

NSString と NSArray 自体がクラス メソッドを介して作成を処理する方法について考えていました。たとえば、空の配列が必要な場合は、使用できます[NSArray array]。したがって、おそらく「配列」は NSArray のクラス メソッドです。

したがって、上記の実装の代わりに、独自のクラスを使用する代わりに、カテゴリを使用して '+arrayOfTeamStrings' を NSArray に追加する必要がありますか?

または、NSArray の独自のサブクラスを作成し、そこにクラス メソッドを追加する必要がありますか?

どちらの場合でも、クラスを自分でシングルトンにする必要がありますか? それとも、これは必要ありませんか?

4

1 に答える 1

0

一般に、カテゴリを介してクラス メソッドを基礎クラスに追加するための非常に優れた用途があります。しかし、この場合、私は実際にarrayOfTeamNamesはの一部であり続けるでしょうMyConstants. チーム名が であるNSArrayという事実は、それがアプリケーションの定数であるという事実ほど重要ではありません。

で定義された値MyConstantsが非常に多様で無関係である場合、またはそれらが 2 つしかない場合はMyConstants、クラスとして削除し、カテゴリまたは extern のみを使用することを検討しますextern NSArray * const BPAllTeamNames

于 2013-07-23T13:57:58.740 に答える