Преобразование объекта из NSMutableArray - цель c - PullRequest
2 голосов
/ 09 мая 2011

Я новичок в Objective-C и не программировал с тех пор, как я учился в колледже 8 лет назад.

Мне интересно, как мне преобразовать объект из изменяемого массива в целое, чтобы я мог выполнить вычисление дляэто.

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 ]

3 голосов
/ 09 мая 2011

Взгляните на документацию 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 голос
/ 09 мая 2011

Вы посмотрите на ссылку на класс NSString, которая скажет вам, что есть intValue сообщение, которое вы можете передавать в строки Если ваши строки верны, вы получите int обратно.

Например, вы можете сделать что-то вроде этого:

int sum = 0;
for(NSString* str in years) {
    sum += [str intValue];
}
0 голосов
/ 09 мая 2011

Например, однако обработка ошибок не требуется:

...
int sum;

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

Посмотрите документацию NSString , также есть метод для преобразования строки в число с плавающей точкой (floatValue).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...