如何在Xcode中隐藏Outlet并保存它从不再出现?

时间:2014-06-17 10:57:06

标签: ios uibutton

我想在动作完成后隐藏一个也是按钮的插座,然后我需要保存它以便它不会再出现。

我已经在阳离子中使用了

- (IBAction)giveheart:(id)sender {
[_heartM setHidden:YES];

 nLife = [lblLife.text intValue]+1;
[savedStock setObject:[NSNumber numberWithFloat:nLife] forKey:@"life"];
[savedStock writeToFile: path atomically:YES];
}

现在我需要保存它,即使应用程序关闭再打开也不会再次出现。

这是怎么做的,我该怎么办?

2 个答案:

答案 0 :(得分:1)

按下按钮时,将状态保存在NSUserDefaults中。

 - (IBAction)giveheart:(id)sender {
 //Save the state in NSUserDefaults here
[[NSUserDefaults standardUserDefaults]setObject:@"Yes" forKey:@"hide"];
[[NSUserDefaults standardUserDefaults]synchronize];
[_heartM setHidden:YES];

 nLife = [lblLife.text intValue]+1;
[savedStock setObject:[NSNumber numberWithFloat:nLife] forKey:@"life"];
[savedStock writeToFile: path atomically:YES];
}

在viewcontroller的ViewDidLoad方法中

NSString *status = [[NSUserDefaults standardUserDefaults]objectForKey:@"hide"];
if(status != nil && [status isEqualToString:@"Yes"] )
[_heartM setHidden:YES];

答案 1 :(得分:1)

您可以按如下方式将按钮的状态保存到NSUserDefaults。

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:[NSNumber numberWithBool:_heartM.isHidden] forKey:@"buttonState"];
[userDefaults synchronize];

当您加载视图时,您可以从默认值

获取按钮的状态
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSNumber *boolNum = [userDefaults objectForKey:@"buttonState"];
if(boolNum) {
    _heartM.hidden = [boolNum boolValue];
}