我在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 ......(即使重启应用程序后)
提前感谢您的所有答案。
答案 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]];
}
备注强>:
已更新:对不起,integerForKey是正确的方法,感谢@ JoshHinman 。