Я пытаюсь сохранить информацию в игре, но я застрял.
Я попробовал другой подход, прежде чем пытаться использовать NSUserDefault.
То, что я пытаюсь сохранить, это
* PlayerScore // NSInteger
* HighScore // NSInteger
* Уровень // NSInteger
* Время // int
*настройки кнопок на SFX и фоновой музыке
* Положение фоновой музыки, поэтому он возобновит работу с того места, где остановился
* сетка, являющаяся игровым полем, и кирпичи на нем (сетка 6x6 итакже является типом UIImageView * grid [] [], кирпичи на нем 35)
-(void)saveGameState {
NSLog(@"saveGameState");
NSLog(@"totalrubies %d", totalrubies);
NSLog(@"playerscore %d", playerscore);
NSLog(@"highscore %d", highscore);
NSLog(@"level %d", level);
NSLog(@"totalseconds %d", totalSeconds);
[[NSUserDefaults standardUserDefaults] setInteger:totalrubies forKey:kRubiesKey];
[[NSUserDefaults standardUserDefaults] setInteger:playerscore forKey:kPScoreKey];
[[NSUserDefaults standardUserDefaults] setInteger:highscore forKey:kHScoreKey];
[[NSUserDefaults standardUserDefaults] setInteger:level forKey:kLevelKey];
[[NSUserDefaults standardUserDefaults] setInteger:totalSeconds forKey:kTimeKey];
[[NSUserDefaults standardUserDefaults] synchronize];
for (int y = 0; y < BRICKHEIGHT; y++)
{
for (int x = 0; x < BRICKWIDTH; x++)
{
[[NSUserDefaults standardUserDefaults] setObject:grid[x][y] forKey:kGridKey];
NSLog(@"grid[BRICKWIDTH][BRICKHEIGHT] %d", grid[x][y].tag);
}
}
}
Я тоже так пробовал
NSData *ImageData = UIImagePNGRepresentation (grid[x][y]);
[NSUserDefaults standardUserDefaults] setObject:ImageData forKey:kGridKey];
но затем я получил предупреждение: несовместимые типы Objective C 'struct UIImageView *', ожидаемый 'struct UIImage *' при передаче аргумента 1 'UIImagePNGRepresentation' из отличного типа Objective C *
Мне удалось сохранить все, кроме последних 3 * в списке.Мне нужна помощь с теми, кто специально с сеткой, это prio 1.