Ukládání hodnoty zrychlení v Objective-C / Cocoa?

hlasů
0

Píšu pro iPhone a já se snažím měřit čas mezi maximální zrychlení. Představte si, že jste připojen váš iPhone do oscilačního jaře. To, co chci udělat, je změřit frekvenci kmitání. Způsob, jakým se budu o tom to je ukládání určité hodnoty množství zrychlení (aktualizováno 20 krát za sekundu) v NSMutableArray a porovnání aktuální hodnoty zrychlení s předchozími hodnotami zrychlení.

Jak přidám každou aktualizovanou hodnotu zrychlení na NSMutableArray a zároveň odstraňovat hodnoty ze zadní části pole, když jsem je nepotřebují nic víc?

Díky předem!

Položena 09/05/2010 v 21:05
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Jsou NSMutableArrays -addObject:/ -insertObject:atIndex:a -removeLastObject/ -removeObjectAtIndex:, co hledáte? Viz tento jeden pro více informací.

Odpovězeno 09/05/2010 v 21:19
zdroj uživatelem

hlasů
1

Myslete na pole jako kola. Poté, co jste vyplnili ho použít rotující index pro umístění nahradit.

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

Můžete jej inicializovat s partou [NSNull null] objekty, které nahradí, takže nepotřebujete další speciální zpracování poprvé projít.

Po dokončení sběru dat, organizovat pole mít odpovídající prvku první, pokud to usnadňuje další operace.

NSRange range = NSMakeRange( 0 , myIndex );
NSArray *temp = [myArray subarrayWithRange:range];
[myArray removeObjectsInRange:range];
[myArray addObjectsFromArray:temp];
Odpovězeno 09/05/2010 v 21:35
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more