mem*_*n32 17 arrays iphone objective-c cgfloat
所以我正在开发一款简单的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;
}
Run Code Online (Sandbox Code Playgroud)
问题是highscores是一个NSMutableArray,它只能存储对象.所以这是我的问题,在阵列中存储CGFloats的最佳方法是什么?它们是支持CGFloats的不同类型的数组吗?将CGFloat变成对象是一种简单的方法吗?
并且请不要评论我在应用代表中存储分数这一事实,我知道这是一个坏主意,但我现在没心情必须制作一个单独的应用程序差不多完成了.
Tom*_*ing 30
您只能向对象添加对象NSArray,因此如果要将CGFloats 添加到数组,则可以使用NSNumber.
例如:
NSNumber * aNumber = [NSNumber numberWithFloat:aFloat];
Run Code Online (Sandbox Code Playgroud)
然后把它拿回来:
CGFloat aFloat = [aNumber floatValue];
Run Code Online (Sandbox Code Playgroud)
Ale*_*ray 13
CGFloat 即原始数组可以像这样构造......
CGFloat colors[] = { 1, 0, 0, 1 };
Run Code Online (Sandbox Code Playgroud)
然后以类似于...的方式"使用"
CGContextSetFillColor(context, colors);
Run Code Online (Sandbox Code Playgroud)
或者(更简洁地说,通过铸造)......
CGContextSetFillColor(context, (CGFloat[]){ 1, 0, 0, 1 });
Run Code Online (Sandbox Code Playgroud)
C阵列总值我出去......不过这可以通过"标准©"来完成!
| 归档时间: |
|
| 查看次数: |
20157 次 |
| 最近记录: |