Ermitteln Sie den Durchschnitt eines NSMutableArray mit valueForKeyPath

Momentan versuche ich einen kompakten Weg zu findenDurchschnitt einer Matrix. Die naheliegende Lösung besteht darin, die Matrix zu summieren und dann durch die Anzahl der Elemente zu dividieren. Ich habe jedoch auf der Apple-Entwickler-Website eine Methode gefunden, die behauptet, dass dies mithilfe von valueForKeyPath auf einfachere Weise möglich ist. Dies ist hier verlinkt:

http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/KeyValueCoding/Articles/CollectionOperators.html

Hier ist das Beispiel, an dem ich gerade arbeite, um es zum Laufen zu bringen:

-(void)arrayAverager
{
   NSMutableArray *myArray = [NSMutableArray arrayWithCapacity:25];
   [myArray addObject:[NSNumber numberWithInteger:myValue]];
   NSNumber *averageValue = [myArray valueForKeyPath:@"@avg.self"];
   NSLog(@"avg  = %@", averageValue);

} 

DasProblem ist: Anstatt das Array zu mitteln, werden nur die Elemente im Array 1 mal 1 ausgedruckt.

AKTUALISIEREN

-(void) pixelAverager

{
    //Put x-coordinate value of all wanted pixels into an array
    NSMutableArray *xCoordinateArray = [NSMutableArray arrayWithCapacity:25];
    [xCoordinateArray addObject:[NSNumber numberWithInteger:xCoordinate]];
    NSLog(@"avg = %@", [xCoordinateArray valueForKeyPath:@"@avg.intValue"]);
 }

Antworten auf die Frage(2)

Ihre Antwort auf die Frage