2016-10-18 2 views
-1

Я извлек данные из базового набора данных и теперь хотел бы суммировать значения, представленные строками в массиве. Следующий код работает отлично, но только поднимает первое найденное значение, как мне его получить, чтобы зациклиться и получить другие значения, хранящиеся в массиве?Objective C, Core Data, NSManagedObject

if([rainResults count] == 0) { 
    rainfallTotal = @"No rainfall recorded"; 
} 

else { 
    for (NSManagedObject *mo in rainResults) { 
     rainfallAmount = [mo valueForKey:@"gauge"]; 
     rainSum = [rainfallAmount floatValue]; 
     NSString *intTotal = [NSString stringWithFormat:@"%f", rainSum]; 
     rainfallTotal = [intTotal stringByAppendingString:unitsString]; 
    } 
} 

UIAlertView *alertDialog; 

alertDialog = [[UIAlertView alloc] initWithTitle:@"Rainfall" message:pickedGauge delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"Total year to date", rainfallTotal, nil]; 

alertDialog.alertViewStyle = UIAlertViewStyleDefault; 

[alertDialog show]; 
+0

«Сумма» означает «добавить»? Я не вижу в вашем коде никакого дополнения. – matt

ответ

1

Похоже, вы проходите через OK, но не похоже, что вы на самом деле суммируете разобранные значения вместе?

ie. я бы подумал, ваше количество осадков линия будет что-то вроде этого:

rainSum += [rainfallAmount floatValue]; 

Вы уверены, что вы видите только первое значение, а не последний?

+0

Вы совершенно правы, это значение LAST, добавление «+», чтобы сделать его rainSum + = [rainfallAmount floatValue}; к сожалению, это не проблема. – user1698875

+0

Я должен был добавить свои тестовые данные более тщательно! Да, это работает !!! Спасибо. – user1698875

+0

Нет проблем. Рад, что смог помочь :-) –

Смежные вопросы