【发布时间】:2013-08-20 17:06:35
【问题描述】:
我正在尝试在我制作的太空射击游戏中制作高分页面。所以,我所做的是使用以下代码保存分数:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSNumber *highscore = [[NSNumber alloc] initWithInt:_totalSeconds];
NSString *choice = [NSString stringWithFormat:@"%@/userschoice", documentsDirectory];
NSMutableArray *array = [NSArray arrayWithContentsOfFile:choice];
[array addObject: highscore];
[array writeToFile:choice atomically:YES];
其中整数_totalSeconds 是用户的分数。然后,在我的viewDidLoad 函数中,我输入了这段代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *choice = [NSString stringWithFormat:@"%@/userschoice", documentsDirectory];
NSMutableArray *array = [NSArray arrayWithContentsOfFile:choice];
int _highscoresAmount = [array count];
NSNumber *highscore2 = [[NSNumber alloc] init];
NSNumber *highscore2Two = [[NSNumber alloc] init];
int _count = 0;
while (_count<_highscoresAmount){
for (int i=0; i<_highscoresAmount; i++){
int j = i+1;
highscore2 = [array objectAtIndex:i];
highscore2Two = [array objectAtIndex:j];
if (highscore2Two > highscore2){
[array replaceObjectAtIndex:i withObject:highscore2Two];
[array replaceObjectAtIndex:j withObject:highscore2];
}
}
_count = _count + 1;
}
for (int i=0; i< _highscoresAmount;i++){
highscore2 = [array objectAtIndex:i];
NSString *highscore3 = [NSString stringWithFormat:@"%@", highscore2];
NSLog(highscore3);
}
此代码的目标是检索我在文件中写入的数组,其中包含我在代码中指定的路径。然后,我想从最高到最低对数组进行排序。
这构建得很好,但是当我加载视图时,应用程序崩溃了。有什么问题?
注意:我还尝试使用类似代码在 for 循环中执行 for 循环,但出现了同样的问题。
另外,这里是崩溃日志:
无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 杀 退出
【问题讨论】:
标签: objective-c sorting crash nsmutablearray runtime-error