0

たとえば、アプリでいくつかの配列を作成しています。

NSString *ItemsA[91];
 int GroupRep[11];
 double TaxR[16];
 short InputT[200];
 BOOL tmpEx[20];  

これらの構造は、アプリの最後までアプリから利用できるようにする必要があります。私の質問は次のとおりです。NSStringの配列を明示的に割り当てる必要がありますか、それとも次の方法で各配列セルを初期化しても大丈夫ですか:ItemsA [10] = @"useoption1"など。

ii。上記のアレイのいずれかを解放または割り当て解除する必要がありますか

iii。特にallocを使用しなかった場合は、iOSが自動的に保持/解放を実行することを理解しています。もしそうならどうですか:

UITapGestureRecognizer *gestur1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dispR)];

同様に、私はクラスを作成しています:

   myClass=[[PieClass alloc]initWithFrame:CGRectMake(1+ipX, ipY, 320, rView.frame.size.height)];
    ...
    [myClass release]

そしてこのクラスは彼自身のものを割り当てます。上記のように、それぞれをリリースする必要がありますか、それともクラス全体をリリースするだけで十分ですか。

ありがとう

4

1 に答える 1

1

一般に、オブジェクトを格納するために言語配列を使用しないでください。NSMutableArrayインスタンスを使用します。それらは比較的オーバーヘッドが少なく(おそらく測定不能)、はるかに自然です。

また、ローカライズ可能なファイルに表示する値を保存することもできます。したがって、上記のファイルをロードする必要があります。また、NSArrayにそれらを保存する方がはるかに簡単です。このテーマに関する広範なドキュメントがdeveloper.apple.comにあります。

最後に、それはあなたのアプリデータのように見えます。したがって、おそらく、上記のデータを管理するための適切なモデルレイヤーが必要になるでしょう。いつの日か、サーバーから上記のデータをプルするようにアプリをリファクタリングしたいと思うでしょう。適切なモデルレイヤーがあると、そうするのに役立ちます。

通常、モデル(データ管理のもの)をアプリケーションデリゲートからハングアップできることに注意してください。または、どこかでシングルトンを介して到達することもできます。

これは、予想されるパターンにもう少し一致するパスに誘導しようとすることを目的とした、少し高レベルの回答です。

于 2012-08-03T22:32:15.013 に答える