iphone objective-c arrays cgfloat

iphone - ¿Cómo hago una serie de CGFloats en el objetivo c?



objective-c arrays (2)

Solo puede agregar objetos a una NSArray , así que si desea agregar CGFloat a una matriz, puede usar NSNumber .

P.ej:

NSNumber * aNumber = [NSNumber numberWithFloat:aFloat];

Entonces para recuperarlo:

CGFloat aFloat = [aNumber floatValue];

Así que estoy trabajando en un juego de iPhone simple y estoy tratando de hacer una tabla de puntaje local. Quiero hacer una matriz y empujar las puntuaciones más altas en ella. A continuación se muestra el código que tengo hasta ahora:

CGFloat score; score=delegate.score; NSInteger currentindex=0; for (CGFloat *oldscore in highscores) { if (score>oldscore) { [highscores insertObject:score atIndex:currentindex] if ([highscores count]>10) { [highscores removeLastObject]; } } currentindex+=1; }

El problema es que las puntuaciones más altas son un NSMutableArray, que solo puede almacenar objetos. Así que aquí está mi pregunta, ¿cuál es la mejor manera de almacenar CGFloats en una matriz? ¿Es un tipo diferente de matriz que admite CGFloats? ¿Es una forma sencilla de convertir un CGFloat en un objeto?

Y, por favor, no comente el hecho de que estoy almacenando puntajes en el delegado de la aplicación, sé que es una mala idea, pero no estoy de humor para tener que hacer un singleton ahora que las aplicaciones casi están listas.


CGFloat es decir, las matrices primitivas se pueden construir como ...

CGFloat colors[] = { 1, 0, 0, 1 };

y posteriormente "usado" de una manera similar a ...

CGContextSetFillColor(context, colors);

O ( más concisamente, a través de casting ) ...

CGContextSetFillColor(context, (CGFloat[]){ 1, 0, 0, 1 });

C matrices me sacan de quicio ... ¡pero esto PUEDE hacerse con "estándar ©"!