У меня проблема с сохранением чего-либо, и у меня официально нет идей.я хочу сохранить целочисленный массив в userDefaults, а затем перезапустить приложение, загружающее этот массив, и перезапустить игру с этой последней точки.
Что я делаю, так это то, что после каждого хода моя логика ИИ сохраняетфактическое состояние игры в массив -> пока все хорошо, это работает нормально.Массив сохраняется, и когда я «ре» читаю сохраненный массив, кажется, что все в порядке ... на самом деле он сохранил правильный массив!
Теперь я перезапускаю игру.Я проверяю переменную bool, которую я также сохранил, если игра была прервана из-за упорядоченности.тоже отлично работает.
Теперь уловка.Я прочитал массив из 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