Objective-Cにて配列を生成するには、NSArray又は、NSMutableArrayを使用します。
固定長配列を生成する場合は、NSArray。
可変長配列を生成する場合は、NSMutableArrayを使用します。
(Objectを格納する場合)
今回の5×5の配列を作るだけれあれば、NSArrayで事は足りますが、"変更"をしたいようなので、
NSMutableArrayを使用します。
下記、宣言部分になります。
// 二次元配列
// @[]にてNSArrayをモダン定義していますが、後のメッセージでmutableCopyをしています。
// よって、返却されるオブジェクトはNSMutableArrayがコピーされます。
NSMutableArray *test2 = [@[
[@[@0, @1, @2, @3, @4] mutableCopy],
[@[@0, @1, @2, @3, @4] mutableCopy],
[@[@0, @1, @2, @3, @4] mutableCopy],
[@[@0, @1, @2, @3, @4] mutableCopy],
[@[@0, @1, @2, @3, @4] mutableCopy]
] mutableCopy];
// test1,test2の配列の中身をログ出力
NSLog(@"%@", test1);
NSLog(@"%@", test2);
// 値の取得
NSLog(@"%d", [[[test2 objectAtIndex: 0] objectAtIndex: 0] intValue]);
// 値の変更
[[test2 objectAtIndex: 0] replaceObjectAtIndex:0 withObject: @999];
NSLog(@"%d", [[[test2 objectAtIndex: 0] objectAtIndex: 0] intValue]);
単純にプリミティブ型を格納する配列を生成する場合は、下記になります。
// 二次元配列(プリミティブ)
int array[5][5] = {
{0, 1, 2, 3, 4},
{0, 1, 2, 3, 4},
{0, 1, 2, 3, 4},
{0, 1, 2, 3, 4},
{0, 1, 2, 3, 4},
};
// 値の取得
for(int i=0; i<5; i++) {
for(int j=0; j<5; j++) {
NSLog(@"%d", array[i][j]);
}
}
// 値の変更
array[0][0] = 999;
以上、回答になっていますか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/11 07:17
2016/10/11 07:29
2016/10/11 07:39
2016/10/11 13:42
2016/10/11 14:07