0

私はこの値の配列幅を持っています:

array: (
    {
    id = 1;
    name = "Cursus Nibh Venenatis";
    value = "875.24";
},
    {
    id = 2;
    name = "Elit Fusce";
    value = "254.02";
},
    {
    id = 3;
    name = "Bibendum Ornare";
    value = "123.42";
},
    {
    id = 4;
    name = "Lorme Ipsim";
    value = "586.24";
}
)

私がする必要があるのは、それぞれの「値」を取得し、それをすべて合計することです。各値を取る新しい配列を宣言しています:

self.valuesArray = [[NSArray alloc] init];

しかし、どうすればそれを行うことができますか?ご回答有難うございます!

4

4 に答える 4

4
double sum = [[array valueForKeyPath:@"@sum.value"] doubleValue];

コレクション演算子の詳細については、こちらをご覧ください

于 2012-08-01T12:30:40.687 に答える
1

あなたはすでに配列を宣言しているので、私はあなたを使用します。また、最初の配列(上記のデータセットを含む)はmyFirstArray(NSArray型の)という配列であると想定しています。

    int sum =0;
    self.valuesArray = [[NSMutableArray alloc] init];
   for(NSDictionary *obj in myFirstArray){
      NSString *value =[obj objectForKey:@"value"];
      sum+= [value intValue];
      [self.valuesArray arrayWithObject:value];//this line creates a new NSArray instance which conains array of 'values'(from your dictionary)
   }

    NSLog("The sum of values is: %d", sum);
    NSLog("The array of \'values\' is : %@",self.valuesArray );
于 2012-08-01T12:31:39.603 に答える
0
double sum=0.0;

for (YourDataObject *d in array) {
    sum+=[[d getValue] doubleValue];
}
于 2012-08-01T12:24:31.777 に答える
0

これを試して -

 float totalValue = 0.0f;

 for (int i = 0 ; i< [array count]; i++) {
     totalValue +=[[[array objectAtIndex:i] objectForKey:@"value"] floatValue];
}
于 2012-08-01T12:26:42.347 に答える