各レベルのスコアリング システムを含む Xcode でゲームを作成しています。ここに、デリゲートを使用して NSString (passedValue1) を取得するコードがあります。
次に、viewDidLoad で値を受け取り、値を UILabel に表示するコードを追加します。
-(void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib
// Do any additional setup after loading the view, typically from a nib
NSString *key=@"labelKey";
if(passedValue1){
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSObject * object = [prefs valueForKey:key];
if(object != nil){
NSUserDefaults *defults = [NSUserDefaults standardUserDefaults];
[defults setValue:passedValue1 forKey:key];
[defults synchronize];
}
else{
NSUserDefaults *defults = [NSUserDefaults standardUserDefaults];
NSInteger readScore=[[[NSUserDefaults standardUserDefaults] valueForKey:key] integerValue];
NSInteger newValue=readScore+[passedValue1 integerValue];
[defults setValue:[NSString stringWithFormat:@"%d",newValue] forKey:key];
[defults synchronize];
}
}
label.text = [[NSUserDefaults standardUserDefaults]objectForKey:key];
}
値を表示したら、NSUserDefault を使用してラベルに保存します。ただし、ゲームをリプレイして別のスコア値を取得したら、現在保存されている値に新しい passedValue1 値を追加したいと思います...
例: レベルをプレイして、スコア値 10 を取得したとします。その後、値が保存され、レベルをリプレイします。次に、保存された値を取得して、スコアを付けたばかりの値に追加したいと思います。つまり、私が獲得した 2 番目の値は 20 です。次に、コードでそれらを合計して 30 の値を取得したいと思います。これは、以前に渡された値と現在渡されている値を追加することです。
私のコードの何が問題になっていますか??
前もって感謝します。