Как я делаю массив CGFloats в цели c?

Таким образом, я работаю над простой игрой 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, который может только хранить объекты. Таким образом, вот мой вопрос, что лучший способ состоит в том, чтобы сохранить CGFloats в массиве? Их другой тип массива, который поддерживает CGFloats? Их простой способ повернуть CGFloat в объект?

И не комментируйте то, что я храню очки в делегате приложения, я знаю, что это - плохая идея, но я не нахожусь в настроении должным быть сделать одиночный элемент теперь, когда приложения почти сделанный.

17
задан meman32 8 July 2010 в 15:02
поделиться

1 ответ

Вы можете добавлять объекты только в NSArray, поэтому если вы хотите добавить CGFloatы в массив, вы можете использовать NSNumber.

Например:

NSNumber * aNumber = [NSNumber numberWithFloat:aFloat];

Затем, чтобы получить его обратно:

CGFloat aFloat = [aNumber floatValue];
30
ответ дан 30 November 2019 в 11:12
поделиться