配列に設定
2次元配列の場合
NSArray *dustName =
[NSArray arrayWithObjects:@[@"A", @"B", @"C"],
@[@"D", @"E", @"F"], nil];
これで3×2の2次元配列ができる。[]がそれぞれ1次元。中のA, B, Cなどがそれぞれ2次元。中身へのアクセスは、
NSLog(@"%@",dustName[0][1]); //結果は「B」
などとなる。
古い書き方で
NSLog(@"%@",[[dustName objectAtIndex:0] objectAtIndex:1]);
とも書けるが益はない。
NSArray *dustName =
[NSArray arrayWithObjects:@[@[@"A", @"B"], @[@"C", @"D"]],
@[@[@"E", @"F"], @[@"G", @"H"]],nil];
これで2×2×2の3次元配列ができる。
[]がそれぞれ1次元。[]がそれぞれ2次元。中のA, Bなどがそれぞれ3次元。
中身へのアクセスは、
このように多次元配列はできるけど、定義も使用もややこしいので、あまりデータ量が多くなるなら、カスタムクラスを使うなど別の方法を考えたほうがいいかも。
NSLog(@"%@",dustName[0][1][0]); //結果は「C」
NSLog(@"%@",dustName[0][1][1]); //結果は「D」
古い書き方では
NSLog(@"%@",[[[dustName objectAtIndex:0] objectAtIndex:1] objectAtIndex:1]);
このように多次元配列はできるけど、定義も使用もややこしいので、あまりデータ量が多くなるなら、カスタムクラスを使うなど別の方法を考えたほうがいいかも。
0 件のコメント:
コメントを投稿