NSMutableArray *Number=[NSArray arrayWithObjects: @"1", @"2", @"3", @"4", @"5", @"6", nil];
我有一个整数数组,需要逐个读取它们。 谁能告诉我如何编码呢?
答案 0 :(得分:9)
实际上,你有一系列NSStrings。
另请注意,将NSArray实例分配给NSMutableArray *引用没有多大意义。
无论如何,你可以:
for(NSString *foo in numberArray) {
int i = [foo intValue];
....
}
请注意,您应该命名以小写字母开头的变量。防止与类名混淆和冲突(如果您想稍后创建名为Number
的类,该怎么办?)。
答案 1 :(得分:1)
这是枚举数组的方式,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
答案 2 :(得分:0)
除此之外你应该使用:
NSMutableArray *numStrings=[NSMutableArray arrayWithObjects: @"1", @"2", @"3", @"4", @"5", @"6", nil]
;
编译器将允许您将NSArray分配给NSMutableArray,但如果您尝试向其发送NSMutableArray特定消息,则可能会崩溃。