从NSMutableArray转换对象 - 目标c

时间:2011-05-09 17:05:59

标签: objective-c cocoa nsstring

自从我8年前的大学时代以来,我是Objective-c的新手并没有编程。

我想知道如何将一个对象从一个可变数组转换为一个整数,这样我就可以对它进行计算。

NSMutableArray *years = [NSArray  arrayWithObjects:@"1800",@"1801",@"1899",@"1900",@"2000",@"2001",@"2003",@"2010",nil];

int count;
count = years.count;

for(int i = 0 ; i < count ; i++)
{
   NSLog(@"The year %@ ", [years objectAtIndex:i]);
}

由于

3 个答案:

答案 0 :(得分:3)

查看NSString文档。

要将NSMutableArray中的对象转换为整数,只需执行

[[years objectAtIndex:i] intValue];

此外,您将years定义为NSMutableArray,然后创建NSArray。你的第一行应该是

NSMutableArray *years = [NSMutableArray arrayWithObjects:@"1800",@"1801",@"1899",@"1900",@"2000",@"2001",@"2003",@"2010",nil];

最后,迭代数组的更好方法是:

for(NSString *a in years){
    //do stuff here
}

答案 1 :(得分:1)

您将查看NSString类引用,它将告诉您可以传递字符串的intValue消息。如果您的字符串是有效数字,则会返回int

例如,您可以这样做:

int sum = 0;
for(NSString* str in years) {
    sum += [str intValue];
}

答案 2 :(得分:0)

例如,不涉及错误处理:

...
int sum;

for(int i = 0 ; i < count ; i++)
{
   sum += [(NSString *)[years objectAtIndex:i] intValue];
}

看看documentation of NSString,还有一种方法可以将字符串转换为浮点数(floatValue)。