Question

Donc, je suis en train de travailler sur un simple jeu pour l'iPhone et suis en train de faire un tableau des meilleurs scores.Je veux faire un tableau et de pousser les scores les plus élevés en elle.Ci-dessous le code que j'ai pour l'instant:

    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;
    }

Le problème est que le classement est un NSMutableArray, qui ne peut stocker des objets.Alors voici ma question, quelle est la meilleure façon de conserver les CGFloats dans un tableau?Est-ce différent type de tableau qui prend en charge CGFloats?Est un moyen simple de transformer une CGFloat dans un objet?

Et merci de ne pas commenter le fait que je suis stocker les scores dans l'app délégué, je sais que c'est une mauvaise idée, mais je n'ai pas envie d'avoir à faire un singleton maintenant que les applications presque terminé.

Était-ce utile?

La solution

Vous pouvez uniquement ajouter des objets à un NSArray, donc si vous voulez vous ajouter CGFloats à un tableau, vous pouvez utiliser NSNumber.

Par exemple:

NSNumber * aNumber = [NSNumber numberWithFloat:aFloat];

Alors pour le récupérer:

CGFloat aFloat = [aNumber floatValue];

Autres conseils

CGFloat c'est à direprimitive tableaux peut être construit comme si...

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

et par la suite "utilisé" dans un mode similaire à...

CGContextSetFillColor(context, colors);

OU (de façon plus concise, par coulage)...

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

C les tableaux brut moi...mais cela PEUT être fait avec "standard ©"!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top