我有一个名为 playerData 的 plist 文件,其中包含索引 0 处的数字对象,指示已完成的最高级别。加载视图后,我读取了整个游戏逻辑中使用的这个对象的整数值。如果玩家赢得比赛,我想增加这个数字并将其写入 plist 文件。这是我的代码(包含在 if 语句中)
levelNumber++;
NSNumber *levelNSNum = [[NSNumber alloc] initWithInteger:levelNumber];
[playerData replaceObjectAtIndex:0 withObject:levelNSNum];
[playerData writeToFile:[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"PlayerData.plist"] atomically:YES];
NSLog(@"%i should be written to file", levelNumber);
日志有效,所以我知道 if 语句的条件已经满足,并且该值与以前在 plist 文件中的值不同,但由于某种原因,该数据没有被覆盖该数据。
我对此比较陌生,所以我可能会犯一个简单而愚蠢的错误,我似乎无法找到答案。感谢您的帮助!