objective-c多维数组

Sam*_*Sam 3 objective-c multidimensional-array

我想在我的应用程序中使用可变大小的多维数组来保存数据.我想要使​​用的数据结构如下所示,每行中的第一个元素后跟相应的多个值.

 array = {   {a, a_val1, a_val2, a_val3}.  
             {b, b_val1},  
             {c, c_val1, c_val2, c_val3, c_val4, c_val5}  
         }
Run Code Online (Sandbox Code Playgroud)

知道如何在objective-c中实现吗?

big*_*gkm 14

像这样使用NSMutableArray

NSMutableArray *curRow; /* use to access the row while loading with objects */
NSMutableArray *array = [[NSMutableArray alloc] init]; /* your main multidim array */
curRow = [NSMutableArray array];
[curRow addObject:/* what you want here */];
[curRow addObject:/* what you want here */];
[curRow addObject:/* what you want here */];
[array addObject:curRow]; /* first row is added */

/* rinse and repeat */
curRow = [NSMutableArray array];
[curRow addObject:/* what you want here */];
[curRow addObject:/* what you want here */];
[curRow addObject:/* what you want here */];
[array addObject:curRow];
Run Code Online (Sandbox Code Playgroud)


Jha*_*iya 5

使用NSMutableArray

以下是您理解的例子......

NSMutableArray * multiArray = [[NSMutableArray alloc] initWithCapacity:5];
[multiArray addObject:[NSArray arrayWithObjects:a,a_val1,a_val2]];
[multiArray addObject:[NSArray arrayWithObjects:a,a_val1,a_val2,a_val3,a_val4]];
[multiArray addObject:[NSArray arrayWithObjects:a,a_val1,a_val5]];
[multiArray addObject:[NSArray arrayWithObjects:a,a_val1,a_val2,a_val3,a_val4,a_val5,a_val6]];
Run Code Online (Sandbox Code Playgroud)

并且不要忘记发布到multiArray 阵列因为我们拥有alloced它...