我在保存内容时遇到问题,并且正式出于想法。 我想要做的是将一个整数数组保存到userDefaults中,然后在重新启动应用程序时加载该数组并从最后一点重新开始游戏。保存游戏时用户默认值的问题...(int array)
我所做的是在每次转动之后,我的AI逻辑将实际的游戏状态保存到一个数组中 - >到目前为止这么好,这工作正常。数组被保存,当我“读”保存的数组时,它似乎确定...实际上它已经保存了正确的数组!
现在我重新开始游戏。我检查一个布尔变量,如果游戏被排除在有序之外,我也会保存它。也很好。
现在是把戏部分。我从userDefaults和WOHOOO读取数组!我得到一个略有不同的阵列,然后我救了!我真的无法弄清楚,为什么:(
好:现在代码:
这里是我做的,以节省电路板:
NSData *data = [NSData dataWithBytes:&boardToSave length:sizeof(boardToSave)];
[userDefaults setObject:data forKey:@"MB_boardSave"];
,在这里我做什么,以取回数据在初始化板时:再次
int loadBoard[8][8] = {0};
NSData *data = [userDefaults objectForKey:@"MB_boardSave"];
memcpy(&loadBoard, data.bytes, data.length);
...怎么回事的是正确的,什么出来是不是:(
任何建议将非常感谢! 如果您认为有更好的选择,我也可以选择其他保存选项!
THX
除了任何解决方案,请你分享什么*进出?例如: – mvds 2010-07-27 23:13:55
例如:我保存的前8个数组条目:12,2,12,0,12,2,12,2和----加载的前8个数组:12,2,12,21,12,2 ,12,2 ----唯一的区别是21而不是0 ...但是在板上有很大的变化;) – zwadl 2010-07-27 23:40:29
我更新了我的答案,因为我错过了*非常明显的* bug ... – mvds 2010-07-27 23:49:45