Iphone 如何创建整数数组
我正在努力在objective c中创建一个整数数组 我使用javascript的方法是:Iphone 如何创建整数数组,iphone,objective-c,Iphone,Objective C,我正在努力在objective c中创建一个整数数组 我使用javascript的方法是: arr = new Array ( 1, 2, 3, 4, 3, 2, 2 ); 我需要使用一个NSMutableArray,因为值需要更新(这是一个游戏的平铺贴图) 如何执行此操作?阵列是否需要更改长度 如果不是,为什么不使用整数的普通数组: int arr[] = { 1, 2, 3, 4, 3, 2, 2}; 请注意,NSArray(或其子类)本机不包含int类型,您必须创建一个NSNumber
arr = new Array ( 1, 2, 3, 4, 3, 2, 2 );
我需要使用一个NSMutableArray
,因为值需要更新(这是一个游戏的平铺贴图)
如何执行此操作?阵列是否需要更改长度 如果不是,为什么不使用整数的普通数组:
int arr[] = { 1, 2, 3, 4, 3, 2, 2};
请注意,NSArray(或其子类)本机不包含int
类型,您必须创建一个NSNumber对象
如果确实需要Objective-C样式的数组,请使用以下命令:
int vals[] = { 1, 2, 3, 4, 3, 2, 2}; // you still need this
int n = sizeof(vals) / sizeof(vals[0]);
[NSMutableArray* array = [[NSMutableArray alloc] initWithCapacity:n];
for (int i = 0; i < n; ++i) {
[array addObject: [NSNumber numberWithInt:vals[i]]];
}
intvals[]={1,2,3,4,3,2,2};//你还需要这个吗
int n=sizeof(vals)/sizeof(vals[0]);
[NSMutableArray*数组=[[NSMutableArray alloc]initWithCapacity:n];
对于(int i=0;i
对于NSMutableArray(尽管正如Alnitak所建议的,C样式的数组可能更可取),您需要执行以下操作:
NSMutableArray *array = [NSMutableArray arrayWithObjects: [NSNumber numberWithInt: 1], [NSNumber numberWithInt:2], nil];
myArray = [[NSMutableArray alloc] init];
(您可以在该构造函数中放入任意数量的内容,只需用逗号分隔,并以nil
结尾即可)
您还可以创建一个空数组([NSMutableArray]
),然后使用[array addObject:[NSNumber numberwhithint:1]
用整数填充它
如果您需要2D版本,请查看。NSMutableArray只能包含继承自NSObject的Cocoa对象(即Apple的类和您的类) 基本上,对于NSMutableArray,您只需按如下方式初始化它:
NSMutableArray *array = [NSMutableArray arrayWithObjects: [NSNumber numberWithInt: 1], [NSNumber numberWithInt:2], nil];
myArray = [[NSMutableArray alloc] init];
然后根据需要添加/删除对象
祝你好运
注:Hank的课堂参考是一个很好的起点。除了Alnitak的答案,我还要补充一点,这个问题也暗示了我在学习编写iPhone编程时肯定会感到的一些困惑。以下是一些关于iPhone编程语言的一般提示
- 并非所有您编写的代码都是objective-c
- 您可以(而且通常应该)在编程中使用其他语言,尤其是C语言
- Alnitak的“普通数组”是一个C数组。它非常适合用原始数据类型存储信息
- 如果您想在数组中存储对象,可以使用NSArray。这在C中不是一个可用的功能。我们立即知道这一点,因为它以“NS”开头(顺便说一句,这代表下一步)