我試圖在遊戲中保存信息,但我卡住了。NSUserDefault問題。保存/檢索數據,包括UIImageView網格[] []
在嘗試使用NSUserDefault之前,我嘗試了一種不同的方法。
我試圖挽救是
* PlayerScore // NSInteger的
*高分// NSInteger的
*級別// NSInteger的
*時間// INT
* SFX和背景音樂上的按鈕設置
*背景音樂位置,所以它會恢復它停止的地方
*網格是gamefield和它的磚(網格是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型「結構的UIImageView *」,預期「結構的UIImage *」通過從不同的Objective-C型「UIImagePNGRepresentation」的參數1時
我成功,我認爲,救以外的所有最後3 *在列表中。我需要幫助那些特別與網格部分,這是prio 1.
好嗎?我以爲我做了,當我嘗試這部分... NSData * ImageData = UIImagePNGRepresentation(grid [x] [y]); [NSUserDefaults standardUserDefaults] setObject:ImageData forKey:kGridKey]; – iphonedevonthemake
好的......我試試看...... – iphonedevonthemake
不錯......警告消失了。我如何加載它?像這個網格[x] [y] = [[NSUserDefaults standardUserDefaults] ObjectforKey:kGridKey]; ? – iphonedevonthemake