私はObjective Cのインスタンス変数として2次元配列を宣言しようとしています。ヘッダ(データ)にNSMutableArrayがあり、@property(非原子、保持する)。 viewDidLoadでは:私が持っている:目的C 2次元配列メモリの問題
data = [[NSMutableArray alloc] init];
[data addObject:[[NSArray alloc] initWithObjects:@"Cheese", @"Meat", @"Veggie", nil]];
[data addObject:[[NSArray alloc] initWithObjects:@"Sandwich", @"Soup", @"Stew", nil]];
私はメソッド内の配列をのNSLogすることができますし、それが正しいことを、私は別の方法から、それをログに記録しようとすると、しかし、私は何も(単に「@」)を取得していない、と私ならば
NSInteger num = [[data objectAtIndex:component] count];
ログにエラーが発生してもクラッシュすることはありません。私はこれがメモリを適切に割り当てないことと関係していると確信していますが、私はObj Cの新機能であり、何年もの間Cスタイルの言語で作業していません。 FWIW、私は[NSArray alloc] initWithObjectsの代わりに[NSArray arrayWithObjects]、そしてその間のすべての組み合わせの代わりにNSArrayを使用することを含め、すべてが失敗する多くのバリアントを試しました。
最後のコメントを無視してください、ごめんなさい。私はあなたがチェックして、コンポーネントが配列の範囲内にあると仮定していますか? – Dre