我正在努力在目标c中创建一组int。
我这样做的方式是javascript:
arr = new Array ( 1, 2, 3, 4, 3, 2, 2 );
我需要使用NSMutableArray
,因为需要更新值(这是游戏的平铺图)。
我该怎么做?
答案 0 :(得分:4)
阵列是否需要更改长度?
如果没有,为什么不使用正常的整数数组:
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]]];
}
答案 1 :(得分:2)
对于NSMutableArray(虽然可能更喜欢C风格的数组,如Alnitak所建议的),你需要做这样的事情:
NSMutableArray *array = [NSMutableArray arrayWithObjects: [NSNumber numberWithInt: 1], [NSNumber numberWithInt:2], nil];
(您可以将任意数量的内容添加到该构造函数中,只需用逗号分隔它们,然后以nil
结尾。)
您还可以创建一个空数组([NSMutableArray array]
),然后使用[array addObject:[NSNumber numberWithInt:1]]
将其填入整数。
如果您需要2D版本,请查看here。
答案 2 :(得分:0)
NSMutableArray只能包含从NSObject继承的Cocoa对象(即Apple的类和你的类)。
基本上对于NSMutableArray你只需像这样初始化它:
myArray = [[NSMutableArray alloc] init];
然后根据需要添加/删除对象。
祝你好运!PS:汉克的班级参考是一个很好的起点。
答案 3 :(得分:0)
除了Alnitak的答案之外,我还要补充一点,这个问题也表明我在学习编写iPhone编程时感到有些困惑。以下是关于iPhone上编程语言的一般提示