繁体   English   中英

如何在我的应用加载之前从NSUserDefault中检索值?

[英]How to retrive the value from NSUserDefault before my app loads…?

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

在您的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应用程序生命周期文档 Reading。

这是从NSUserDefaults检索存储的值并在ViewController加载时为标签设置值的方法:

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

我假设您的按钮已经连接到类似这样的操作上,它将在单击时将值保存到standardUserDefaults:

- (IBAction)buttonPressed:(id)sender
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:self.myLabel.text forKey:@"mySavedValue"];
    [defaults synchronize];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM