2010-01-26 65 views
1
NSMutableArray *Number=[NSArray arrayWithObjects: @"1", @"2", @"3", @"4", @"5", @"6", nil]; 

我有整数的阵列,并且需要通过一个读取它们之一。 任何人都可以告诉我如何编码吗?如何读取整数数组?

回答

10

其实,你有NSString的数组。

还要注意的是,以一个NSMutableArray *参考分配一个NSArray实例没有太大的意义。

在任何情况下,你可以:

for(NSString *foo in numberArray) { 
    int i = [foo intValue]; 
    .... 
} 

请注意,您应该名称以小写字母变量。避免混淆和与类名冲突(如果您想在以后创建一个名为Number的类?)。

+0

感谢名单非常 – Muniraj 2010-01-26 18:00:44

0

顺便说一句,你应该使用:

NSMutableArray *numStrings=[NSMutableArray arrayWithObjects: @"1", @"2", @"3", @"4", @"5", @"6", nil];

编译器会让你分配一个NSArray到一个NSMutableArray,但是如果你试图发送它NSMutableArray特定的消息,它可能会崩溃。

+0

编译器应该提醒你的是,类型是不兼容的,我想。 – Chuck 2010-01-26 23:30:28

2

这是你如何枚举阵列,NSArray的是不可改变的,整数的:

NSArray * numbers = [NSArray arrayWithObjects:[NSNumber numberWithInt:1], 
               [NSNumber numberWithInt:2], 
               [NSNumber numberWithInt:4], 
               [NSNumber numberWithInt:5], 
               [NSNumber numberWithInt:6], 
               [NSNumber numberWithInt:7], 
               nil]; 
// now print out 
id obj; 
NSEnumerator * enumerator; 

enumerator = [numbers objectEnumerator]; 
while ((obj = [enumerator nextObject])) NSLog(@"%@", obj); 

这是你如何动态地添加整数数组,NSMutableArray里,(然后打印数组):

NSLog(@"\ndynamically add integers:"); 

NSMutableArray * num2 = [[NSMutableArray alloc] init]; 
int i; 
for (i = 0; i < 10; ++i) [num2 addObject:[NSNumber numberWithInt:i]]; 

// now print out 
enumerator = [num2 objectEnumerator]; 
while ((obj = [enumerator nextObject])) NSLog(@"%@", obj); 
来自

输出:

2010-01-27 14:51:40.307 x[5566] 1 
2010-01-27 14:51:40.308 x[5566] 2 
2010-01-27 14:51:40.308 x[5566] 4 
2010-01-27 14:51:40.308 x[5566] 5 
2010-01-27 14:51:40.308 x[5566] 6 
2010-01-27 14:51:40.308 x[5566] 7 
2010-01-27 14:51:40.308 x[5566] 
dynamically add integers: 
2010-01-27 14:51:40.308 x[5566] 0 
2010-01-27 14:51:40.308 x[5566] 1 
2010-01-27 14:51:40.308 x[5566] 2 
2010-01-27 14:51:40.308 x[5566] 3 
2010-01-27 14:51:40.308 x[5566] 4 
2010-01-27 14:51:40.308 x[5566] 5 
2010-01-27 14:51:40.308 x[5566] 6 
2010-01-27 14:51:40.308 x[5566] 7 
2010-01-27 14:51:40.308 x[5566] 8 
2010-01-27 14:51:40.309 x[5566] 9