我正在做一个像徽标测验的游戏;
使用以下代码是否适合保存和加载数据:
此代码只允许用户只播放一次特定徽标!
当然,我会把每个有动作的插座连接起来!
这是正确的方法,还是我应该尝试别的东西?
[super viewDidLoad];
{ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *loadstring = [defaults objectForKey:@"savedstring"];
[_textbox setText:loadstring];
}
- (IBAction)btncheck:(id)sender {
NSString *savestring = _textbox.text;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:savestring forKey:@"savedstring"];
[defaults synchronize];
}
答案 0 :(得分:0)
我只想添加一点清晰度,如果这是您要使用的实际代码,那么我认为这不合适。您提到您只希望每个徽标只回答一次和一次。如何将字符串保存到NSUserDefaults实现此目的?
鉴于代码并假设您允许用户在文本框中输入内容,您将获得使用密钥savedstring
存储的不同值,将不会记住以前的值。
或者假设您不允许用户在文本框中添加任何内容并继续添加到字符串并保存它,您不会显示如何检查它是否已被使用/检查过?
您可以将NSDictionary保存到NSUserDefaults Saving NSDictionary to NSUserDefaults,而不是字符串,每个键都可以与徽标相关联。然后,您可以检查密钥是否已存在于字典中。将任何新的词添加到该词典并再次保存。