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.

War es hilfreich?

Lösung

Sie können nur Objekte zu einem hinzufügen NSArray, also wenn du willst, fügst du hinzu CGFloats 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 ...

generasacodicetagpre.

und anschließend "verwendet" auf einer Mode ähnlich wie ...

generasacodicetagpre.

oder ( präziser, über Casting ) ...

generasacodicetagpre.

C-Arrays brutto mich raus ... aber dies kann mit "standard ©" durchgeführt werden!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top