您可以使用简单明了的方法来存储您的价值。
你的界面:
@interface FirstViewController : UIViewController
@property (nonatomic) int x;
@property (strong, nonatomic) IBOutlet UILabel *label;
- (IBAction)buttonPressed:(id)sender;
- (void)updateLabel;
@end
你的二传手:
- (void)setX:(int)x
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setInteger:x forKey:@"MyValue"];
[userDefaults synchronize];
}
你的吸气剂:
- (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]];
}
备注:
- @"MyValue" 必须是唯一的字符串,因为 UserDefaults 只是整个应用程序的实例。
- integerForKey 是仅存储 int 值的方法。
更新:对不起,integerForKey 是正确的方法,感谢@ JoshHinman。