Wie erstelle ich ein Array von CGFloats in Ziel c?
-
13-09-2020 - |
Frage
Also arbeite ich an einem einfachen iPhone-Spiel und versuche, eine lokale Highscore-Tabelle zu erstellen.Ich möchte ein Array erstellen und die höchsten Punktzahlen hineinschieben.Unten ist der Code, den ich bisher habe:
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;
}
Das Problem ist, dass Highscores ein NSMutableArray ist, das nur Objekte speichern kann.Also hier ist meine Frage, was ist der beste Weg, um CGFloats in einem Array zu speichern?Ist es ein anderer Array-Typ, der CGFloats unterstützt?Ist es eine einfache Möglichkeit, aus einem CGFloat ein Objekt zu machen?
Und bitte kommentieren Sie nicht die Tatsache, dass ich Partituren im App-Delegaten speichere, ich weiß, dass es eine schlechte Idee ist, aber ich bin nicht in der Stimmung, jetzt, da die Apps fast fertig sind, einen Singleton erstellen zu müssen.
Lösung
Sie können nur Objekte zu einem hinzufügen NSArray
, also wenn du willst, fügst du hinzu CGFloat
s zu einem Array können Sie verwenden NSNumber
.
Z:
NSNumber * aNumber = [NSNumber numberWithFloat:aFloat];
Dann, um es zurückzubekommen:
CGFloat aFloat = [aNumber floatValue];
Andere Tipps
CGFloat
d. H.Primitive Arrays kann so konstruiert werden ...
und anschließend "verwendet" auf einer Mode ähnlich wie ...
generasacodicetagpre.oder ( präziser, über Casting ) ...
generasacodicetagpre. C
-Arrays