У меня проблема с сохранением чего-то и официально из идей. что я хочу сделать, это сохранить целочисленный массив в userDefaults, а затем при перезагрузке приложения загрузите этот массив и перезапустите игру из этой последней точки.проблема с пользовательскими значениями по умолчанию при сохранении игры ... (int array)
что я делаю, так это то, что после каждого поворота моя логика AI сохраняет фактическое состояние игры в массив -> пока что так хорошо это работает. массив сохраняется, и когда я «читаю» сохраненный массив, кажется, хорошо ... ну на самом деле он сохранил правильный массив!
Теперь я перезапускаю игру. я проверяю переменную 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);
снова ... Что происходит в правильно, Что выходит не :(
любые предложения были бы очень оценены! Я также открываю альтернативные варианты экономии, если вы думаете, что есть лучшие!
ТНХ
кроме любых решений, не могли бы вы поделиться тем, что * * входит и выходит? – mvds
например: первые 8 записей в массиве i save: 12, 2, 12, 0, 12, 2, 12, 2 ---- и первые 8, которые загружены: 12, 2, 12, 21, 12, 2 , 12, 2 ---- только разница 21 вместо 0 ... но это сильно меняет на доске;) – zwadl
Я обновил свой ответ, потому что я пропустил * очень очевидную * ошибку ... – mvds