如何在objective-c中添加和更新二维数组的对象?
How to add and update the objects of two dimensional array in objective-c?
我想在objective-c中创建一个二维数组并将所有索引初始化为零。每当我的数据(2D 坐标)与任何 row/column 匹配时,我想按值 1 升级相应的索引。这样以后我就可以在任何点的最大索引数的基础上扫描我的高概率坐标。例如:如果我的算法生成坐标(0,1),那么第一行第二列的索引必须增加一个。非常感谢。
这是创建数组的方法。
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:[NSMutableArray arrayWithObjects:@"0",@"0",nil]];
[array addObject:[NSMutableArray arrayWithObjects:@"0",@"0",nil]];
NSLog(@"%@",array);
更新值
说你想用值 3
更新 index(0,1)
,你做
[[array objectAtIndex:0] replaceObjectAtIndex:1 withObject:@"3"];
NSLog(@"%@",array);
用值 4
更新 index(1,1)
做
[[array objectAtIndex:1] replaceObjectAtIndex:1 withObject:@"4"];
NSLog(@"%@",array);
希望对您有所帮助。
干杯。
如果需要,您可以使用数字并使用简单的方法来编写数组:
NSMutableArray * array2d = @[@[@0,@0], @[@0,@1]];
只是一个建议:
Objective-C 是 C 的超集。所以你也可以利用 C 数组的概念。
int array2D[5][5] = {0};//The compiler will automatically intialize all indces to 0.
或使用
memset(&a[0][0], 0, sizeof(int) * 5 * 5);
然后使用如下简单的 C 赋值,
array2D[0][1] = 3;
更快更简单。
示例代码:
#include<stdio.h>
#include<string.h>
int main(int argc, char * argv[])
{
int a[5][5];
memset(&a[0][0], 0, sizeof(int) * 5 * 5);
for(int i = 0; i < 5; i++)
{
for(int j = 0; j < 5; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
我想在objective-c中创建一个二维数组并将所有索引初始化为零。每当我的数据(2D 坐标)与任何 row/column 匹配时,我想按值 1 升级相应的索引。这样以后我就可以在任何点的最大索引数的基础上扫描我的高概率坐标。例如:如果我的算法生成坐标(0,1),那么第一行第二列的索引必须增加一个。非常感谢。
这是创建数组的方法。
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:[NSMutableArray arrayWithObjects:@"0",@"0",nil]];
[array addObject:[NSMutableArray arrayWithObjects:@"0",@"0",nil]];
NSLog(@"%@",array);
更新值
说你想用值 3
更新 index(0,1)
,你做
[[array objectAtIndex:0] replaceObjectAtIndex:1 withObject:@"3"];
NSLog(@"%@",array);
用值 4
更新 index(1,1)
做
[[array objectAtIndex:1] replaceObjectAtIndex:1 withObject:@"4"];
NSLog(@"%@",array);
希望对您有所帮助。
干杯。
如果需要,您可以使用数字并使用简单的方法来编写数组:
NSMutableArray * array2d = @[@[@0,@0], @[@0,@1]];
只是一个建议:
Objective-C 是 C 的超集。所以你也可以利用 C 数组的概念。
int array2D[5][5] = {0};//The compiler will automatically intialize all indces to 0.
或使用
memset(&a[0][0], 0, sizeof(int) * 5 * 5);
然后使用如下简单的 C 赋值,
array2D[0][1] = 3;
更快更简单。
示例代码:
#include<stdio.h>
#include<string.h>
int main(int argc, char * argv[])
{
int a[5][5];
memset(&a[0][0], 0, sizeof(int) * 5 * 5);
for(int i = 0; i < 5; i++)
{
for(int j = 0; j < 5; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}