2016-10-18 11 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]; 

あなたが最初の値のみではなくLASTを見ていますか?

+0

あなたは大丈夫です、それは最後の値です、それを作るための "+"の追加rainSum + = [rainfallAmount floatValue};残念ながら問題を解決しませんでした。 – user1698875

+0

私はテストデータをより慎重に追加すべきです!はい、それは動作します!ありがとうございました。 – user1698875

+0

問題ありません。お役に立てて嬉しいです :-) –

関連する問題