私は次のコードを持っています:
NSString *Items[91];
上記の.mファイルでは、グローバル配列として機能するすべてのメソッドがあります。これは、私のinitメソッドで実行します。
for (j1 = 0; j1 <= 90; j1++)
{
Items[j1] = [[NSString alloc] initWithFormat:@""];
}
そして、ある時点で、別のメソッドAAがトリガーされ、次のようになります。
Items[40] = [NSString stringWithFormat:@"40. Pers:%g each", PersExemptions];
Items[41] =@"blah blah";
...など
そして、ある時点で別のメソッドBBがトリガーされ、Items [40]の場合、解放されたオブジェクトと表示され、目的を無効にするために持っていた値が失われていることがわかります。Grr。
Items配列に、変更された値をアプリ全体で最後まで保持してもらいたいのですが、initメソッドで使用したinitWithFormatを使用することで処理できると思いました。そもそもそれが問題である場合、Itemsはcスタイルの配列である(そしてNSMutable配列に変換するのは苦痛になる)ことを理解しています。
これについての助けに感謝します。