Rah*_*yas 1 objective-c nsuserdefaults nstimer iphone-sdk-3.0
我有一个标签,我正在显示倒数计时器.
现在,如果我关闭我的应用程序,计时器将关闭,标签的文本也将关闭.我知道我们可以保存标签的文本值.但是,当应用程序再次启动时,我们如何显示正确的倒计时.
假设我在3分钟后关闭00:05:35当应用程序再次启动时,标签应该显示00:02:35并且计时器应该在那里进行剩余的倒计时
是的,只需存储关闭应用的时间以及在NSUserDefaults中倒计时的时间.当应用程序再次启动时,您将获得从NSUserDefaults关闭的时间和剩余时间.使用当前时间,可以通过简单的数学计算倒数时剩余的校正时间.
这样的事情可能会成功,当然未经测试:
// save state
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSDate *now = [NSDate date];
double countDown = 45.0; // in seconds, get this from your counter
[userDefaults setObject:now forKey:@"timeAtQuit"];
[userDefaults setDouble:countDown forKey:@"countDown"];
[userDefaults synchronize];
// restore state
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSDate *timeAtQuit = [userDefaults objectForKey:@"timeAtQuit"];
double timeSinceQuit = [timeAtQuit timeIntervalSinceNow];
double countDown = timeSinceQuit + [userDefaults doubleForKey:@"countDown"];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1116 次 |
| 最近记录: |