0

私は iPhone 用に書いており、最大加速度間の時間を測定しようとしています。iPhone を振動ばねに取り付けたと想像してください。私がやりたいのは、振動の周波数を測定することです。私がこれを行う方法は、NSMutableArray に一定数の加速度値 (毎秒 20 回更新) を格納し、現在の加速度値を以前の加速度値と比較することです。

更新された各加速度値を NSMutableArray に追加すると同時に、配列の後ろから値が不要になったので削除するにはどうすればよいですか?

前もって感謝します!

4

2 に答える 2

1

NSMutableArrays -addObject:/ -insertObject:atIndex:and -removeLastObject/はあなた-removeObjectAtIndex:が探しているものですか? 詳細については、これを参照してください。

于 2010-05-09T20:19:20.843 に答える
1

配列を車輪と考えてください。いっぱいになったら、置換位置に回転インデックスを使用します。

myIndex = ( ( myIndex + 1 ) % myCount );
[myArray replaceObjectAtIndex:myIndex withObject:newValue];

置き換える一連の [NSNull null] オブジェクトで初期化できるため、最初から他の特別な処理は必要ありません。

データの収集が完了したら、他の操作を簡素化する場合は、最初に適切な要素を持つように配列を編成します。

NSRange range = NSMakeRange( 0 , myIndex );
NSArray *temp = [myArray subarrayWithRange:range];
[myArray removeObjectsInRange:range];
[myArray addObjectsFromArray:temp];
于 2010-05-09T20:35:08.317 に答える