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