Преобразование компонента NSArray в целое или десятичное число - PullRequest
2 голосов
/ 27 января 2012

У меня есть случай, когда данные, считанные из CSV-файла в приложении, должны быть преобразованы в целое число, которые должны быть нанесены на график позже. В настоящее время он не распознает, когда данные сохранены как

int i=[[rows objectAtIndex:0] componentsSeparatedByString:@","];

Это реализованный код.

-(void)connection :(NSURLConnection *) connection didReceiveData:(NSData *)data{

    [self serverConnect];
    response = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    //NSLog(response);

    NSString *stripped1 = [response stringByReplacingOccurrencesOfString:@"\r" withString:@""];
    NSArray *rows = [stripped1 componentsSeparatedByString:@"\n"];

    NSArray *components;

    for (int i=0;i<[rows count]; i++) {
         if(i == 0 || [[rows objectAtIndex:i] isEqualToString:@""]){
             continue;
         }
        components = [[rows objectAtIndex:i] componentsSeparatedByString:@","];
        NSLog(@"data1:%@ data2:%@ data3:%@", [components objectAtIndex:0] ,[components objectAtIndex:1],[components objectAtIndex:2]);
    }

data1, data2 и data3 должны быть целыми числами.

Большое спасибо.

Ответы [ 2 ]

3 голосов
/ 27 января 2012

componentSeparatedByString возвращает подстроки или экземпляры NSString.

         components = [[rows objectAtIndex:i] componentsSeparatedByString:@","];

Вам просто нужно взять каждый член 'компонент' и получить его intValue, например:

int myInt = [[components objectAtIndex:n] intValue];
1 голос
/ 28 января 2012

NSArray и NSMutableArray могут содержать только объекты. Поэтому для получения целочисленного значения используйте [object intValue]. Если вам нужно добавить целое число в массив, создайте объект NSNumber из целого числа и вставьте его. Я знаю, что Рэйфлек ответил на ваш вопрос, и я просто хочу показать, как работает массив в iOS. Надеюсь это поможет.

...