如何在 NSArray 中包装基本类型的 3D 数组?
How can I wrap a 3D array of a primitive type in an NSArray?
我有以下代码,我正在尝试将 3D 整数数组包装在 NSArray 中,因为我不能在 C 中 return 多维数组。任何人都可以建议我如何以一种允许的方式实现它以便在函数 returned?
后轻松访问数组
-(NSArray *) Foo{
int array[2][[self getWidth]][[self getHeight]];
int x = 0;
int y = 0;
for (int i = 0; i < [self getWidth]; i++) {
for (int j = 0; i < [self getHeight]; j++) {
// get th values for current position
tmp = [NSMutableArray arrayWithArray:[self convertAtPoint:i withYValue:j]];
x = (int) [tmp objectAtIndex:0];
y = (int) [tmp objectAtIndex:1];
array[0][i][j] = x;
array[1][i][j] = y;
}
}
// How can i put the 3D array into a NSArray?
NSArray *returnArr = [[NSArray alloc] init];
return returnArr;
}
我最终没有使用 NSArray 并使用 malloc 恢复为 C 数组来分配数组所需的 space。
我有以下代码,我正在尝试将 3D 整数数组包装在 NSArray 中,因为我不能在 C 中 return 多维数组。任何人都可以建议我如何以一种允许的方式实现它以便在函数 returned?
后轻松访问数组-(NSArray *) Foo{
int array[2][[self getWidth]][[self getHeight]];
int x = 0;
int y = 0;
for (int i = 0; i < [self getWidth]; i++) {
for (int j = 0; i < [self getHeight]; j++) {
// get th values for current position
tmp = [NSMutableArray arrayWithArray:[self convertAtPoint:i withYValue:j]];
x = (int) [tmp objectAtIndex:0];
y = (int) [tmp objectAtIndex:1];
array[0][i][j] = x;
array[1][i][j] = y;
}
}
// How can i put the 3D array into a NSArray?
NSArray *returnArr = [[NSArray alloc] init];
return returnArr;
}
我最终没有使用 NSArray 并使用 malloc 恢复为 C 数组来分配数组所需的 space。