0

我有一个 ViewController,点击一个按钮,标签就会更新。我想要的是,每次打开应用程序时,它都应该保留其旧值。我能够在 NSUserDefault 中写入每个值,但在加载应用程序之前无法在标签上写入值。
示例:
在第一次运行中,标签的值为 5。在第二次运行中,标签应包含相同的值 5,如果我进行了任何更改,则第三次运行时应该存在更改。
谢谢...

4

2 回答 2

2

在您的 AppDelegate 中,启动应用程序后调用的第一个方法是,

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    return YES;
}

对于其他情况,例如您的应用程序使用从非活动状态变为活动状态,

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

我推荐阅读,Apple 的 iOS 应用程序生命周期文档

于 2012-08-20T02:07:50.140 回答
1

以下是在 ViewController 加载时如何从标签中检索存储的值NSUserDefaults并设置该值的方法:

- (void)viewDidLoad
{
    [super viewDidLoad];    
    self.myLabel.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"mySavedValue"];
}

我假设您的按钮已经连接到类似这样的操作,单击时会将值保存到标准用户默认值:

- (IBAction)buttonPressed:(id)sender
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:self.myLabel.text forKey:@"mySavedValue"];
    [defaults synchronize];
}
于 2012-08-20T02:14:24.390 回答