質問

そこで私は単純な iPhone ゲームに取り組んでおり、ローカル ハイスコア テーブルを作成しようとしています。配列を作成して、最高スコアをそこにプッシュしたいと考えています。以下はこれまでに持っているコードです:

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

問題は、highscores がオブジェクトのみを保存できる NSMutableArray であることです。そこで質問です。CGFloat を配列に格納する最良の方法は何ですか?CGFloats をサポートする別の種類の配列ですか?CGFloat をオブジェクトに変える簡単な方法なのでしょうか?

また、アプリのデリゲートにスコアを保存しているという事実についてはコメントしないでください。悪い考えであることはわかっていますが、アプリがほぼ完成した今、シングルトンを作成する気分ではありません。

役に立ちましたか?

解決

NSArrayにオブジェクトを追加することができるので、CGFloatを配列に追加する場合は、NSNumberを使用できます。

例えば:

NSNumber * aNumber = [NSNumber numberWithFloat:aFloat];
.

それを取り戻すために:

CGFloat aFloat = [aNumber floatValue];
.

他のヒント

CGFloat つまりプリミティブ配列 このように構築できます...

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

その後、次のような方法で「使用」されます...

CGContextSetFillColor(context, colors);

または (より簡潔に言うと、キャストを介して)...

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

C 配列 きもい 私はアウトです...しかし、これは「標準 ©」でも実行できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top