我正在尝试在我制作的太空射击游戏中制作高分页面。所以,我所做的是使用以下代码保存分数:
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 kill quit加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知负载 命令 0x22 无法读取未知负载命令 0x22 无法读取未知负载命令 0x22 无法读取未知负载命令 0x22 无法读取未知负载命令 0x22 无法读取未知负载命令 0x22 无法读取未知负载命令0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 kill quit加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知负载 命令 0x22 无法读取未知负载命令 0x22 无法读取未知负载命令 0x22 无法读取未知负载命令 0x22 无法读取未知负载命令 0x22 无法读取未知负载命令 0x22 无法读取未知负载命令0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 kill quit0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 kill退出0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 kill退出加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 杀死退出加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 无法读取未知加载命令 0x22 杀死退出