使用固定值创建变量

时间:2013-07-27 21:29:27

标签: ios variables fixed

我在ViewController.h中有一个带有一个变量x的视图控制器:

@property(nonatomic) int x;

是否可以将x的最近值设置为固定?例如,方法将x设置为值5,并且当重新加载此视图控制器时,x的值应为5,而不是现在的0。

e.g。在ViewController中:

- (IBAction)btnPressed:(id)sender {
_x++;
}
每次点击按钮后,

x应该增加>>> 0,1,2,3,4 ......(即使重启应用程序后)

提前感谢您的所有答案。

1 个答案:

答案 0 :(得分:0)

您可以使用简单明了的方法来存储您的价值。

您的界面

@interface FirstViewController : UIViewController

@property (nonatomic) int x;
@property (strong, nonatomic) IBOutlet UILabel *label;

- (IBAction)buttonPressed:(id)sender;
- (void)updateLabel;

@end

setter

- (void)setX:(int)x
{
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    [userDefaults setInteger:x forKey:@"MyValue"];
    [userDefaults synchronize];
}

getter

- (int)x
{
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    return [userDefaults integerForKey:@"MyValue"];
}

行动

- (IBAction)buttonPressed:(id)sender 
{
    [self updateLabel];
    self.x++;
}

您的 viewDidAppear:方法:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    [self updateLabel];
}

更新标签的方法:

- (void)updateLabel
{
    [self.label setText:[NSString stringWithFormat:@"%d", self.x]];
}

备注

  1. @“MyValue”必须是唯一的字符串,因为UserDefaults只是 整个应用程序的实例。
  2. integerForKey是存储int的方法     仅限值。
  3. 已更新:对不起,integerForKey是正确的方法,感谢@ JoshHinman