Objective C - 带数字的数组

mog*_*gio 5 arrays int objective-c

是否有更好的方法用数字填充数组而不是我使用的数字?令人发疯的是,为了用数字填充数组,我需要写多少才能将它们用于循环计算.在其他基于C的语言(如PHP,As3或Java)中,这更容易.

NSArray *myArray = [NSArray arrayWithObjects:  
                    [NSNumber numberWithInt:1000],[NSNumber numberWithInt:237], [NSNumber numberWithInt:2673], nil];

int total = 0;
for(int i = 0; i < [myArray count]; i += 1 ){
    total += [[myArray objectAtIndex: i]intValue];
    NSLog(@"%i", total);
}
Run Code Online (Sandbox Code Playgroud)

希望有一个更短的方式...我只是想用int填充数组...不能那么难

Mar*_*rio 10

我想你必须使用NSNumber作为NSArray.如果你想使用ints我猜你必须使用ac数组:

NSInteger myArray[20];

for (int i=0;i<20;i++) {
  int num=myArray[i];

  //do something
 }
Run Code Online (Sandbox Code Playgroud)

虽然我认为NSNumber是这种语言的更好方法.至少你可以做快速枚举来缩短代码:

for (NSNumber *n in myArray) {
 int num = [n intValue];

 //do something....

}
Run Code Online (Sandbox Code Playgroud)

编辑:

3年前问过这个问题.已经建立了新的文字,以便更容易创建像NSNumbers或NSArrays这样的对象:

NSNumber *n = @100;
Run Code Online (Sandbox Code Playgroud)

要么

NSArray *array = @[@100,@50,@10];
Run Code Online (Sandbox Code Playgroud)