現在、マトリックスを平均化するコンパクトな方法を見つけようとしています。明らかな解決策は、行列を合計してから、要素の数で割ることです。ただし、Apple 開発者の Web サイトで、valueForKeyPath を使用してより簡単な方法でこれを行うことができると主張する方法に出くわしました。これはここにリンクされています:
これは、私が現在取り組んでいる例であり、それを機能させようとしています:
-(void)arrayAverager
{
NSMutableArray *myArray = [NSMutableArray arrayWithCapacity:25];
[myArray addObject:[NSNumber numberWithInteger:myValue]];
NSNumber *averageValue = [myArray valueForKeyPath:@"@avg.self"];
NSLog(@"avg = %@", averageValue);
}
問題は、配列を平均化する代わりに、配列内の要素を 1 つずつ出力するだけです。
アップデート
-(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"]);
}