[iOS] 현재 값 저장하기
//현재 값을 저장하는 함수
+(void)saveToUserDefaults:(NSString *)key value:(NSString *)value
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
if(standardUserDefaults)
{
[standardUserDefaults setObject:value forKey:key];
[standardUserDefaults synchronize];
}
}
//저장한 값을 받아오는 함수
+(NSString *)retrieveFromUserDefaults:(NSString *)key
{
NSUserDefaults *standardUserDefaults=[NSUserDefaults standardUserDefaults];
NSString *val=nil;
if(standardUserDefaults)
val=[standardUserDefaults objectForKey:key];
return val;
}
//버튼을 링크한 함수
- (IBAction)SaveButton:(id)sender {
//저장할 문자열
NSString *speedString = [NSString stringWithFormat:@"%f",speedSlider.value];
NSString *soundString = [NSString stringWithFormat:@"%d",soundSwitch.on];
NSString *nameString=nameTextField.text;
NSString *levelString=[NSString stringWithFormat:@"%d", levelSegment.selectedSegmentIndex];
//저장
[ViewController saveToUserDefaults: GameSpeedID value:speedString];
[ViewController saveToUserDefaults:SoundOnOffID value:soundString];
[ViewController saveToUserDefaults:PlayerNameID value:nameString];
[ViewController saveToUserDefaults:GameLevelID value:levelString];
}
//받아올 때
NSString *gameSpeedString=[ViewController retrieveFromUserDefaults:GameSpeedID];
NSString *soundOnOffString=[ViewController retrieveFromUserDefaults:SoundOnOffID];
NSString *playerNameString=[ViewController retrieveFromUserDefaults:PlayerNameID];
NSString *gameLevelString=[ViewController retrieveFromUserDefaults:GameLevelID];
//저장한 값이 있다면
if(gameSpeedString!=nil)
{
NSLog(@"Load Saved Settings");
[speedSlider setValue:[gameSpeedString floatValue]];
[soundSwitch setOn:[soundOnOffString boolValue]];
nameTextField.text=playerNameString;
levelSegment.selectedSegmentIndex=[gameLevelString intValue];
}
else//없다면
{
NSLog(@"Application is first launched");
}