Rom*_*ain 5 iphone objective-c ios
我正在运行在 iOS8 设备上的 Xcode6 beta 2 上的 Objective C 项目。我在方法中打印 backgroundTimeRemaining :applicationDidEnterBackground。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog:(@"Background time remaining %f seconds", application.backgroundTimeRemaining);
NSLog:(@"Background time remaining %f seconds", application.backgroundTimeRemaining);
NSLog:(@"Background time remaining %f seconds", application.backgroundTimeRemaining);
}
Run Code Online (Sandbox Code Playgroud)
我收到的结果是:
179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000秒
9.995252 秒
9.991967 秒
为什么它在第一个日志 (1797693...) 上输出这么大的值?
谢谢
我发现了一个快速而肮脏的修复方法,似乎有效。在请求 applicationTimeRemaning 之前让线程休眠一下:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[NSThread sleepForTimeInterval:.01];
NSLog:(@"Background time remaining %f seconds", application.backgroundTimeRemaining);
}
Run Code Online (Sandbox Code Playgroud)
但这显然不是一个理想的解决方案。
| 归档时间: |
|
| 查看次数: |
481 次 |
| 最近记录: |