IOS 后台任务、多任务的理解2
IOS7的:
情况2,微博微信后台页面刷新,参考:http://onevcat.com/2013/08/ios7-background-multitask/
所谓的“后台获取”
1.
![IOS <wbr>后台任务、多任务的理解2 在Capabilities中开启Background Modes](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
2.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions
{
[[UIApplication sharedApplication]
setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];//设置获取间隔
return
YES;
}
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void
(^)(UIBackgroundFetchResult))completionHandler {
//
UITabBarController *tab = (UITabBarController
*)self.window.rootViewController;
//
tab.selectedViewController
//根据应用的需求,对需要后台页面更新的具体viewcontroller页面都实现一个获取数据的方法,然后在此调用,可以多个页面
ViewController *con = (ViewController
*)self.window.rootViewController;
if ([con
respondsToSelector:@selector(fechData:)]) {
[con fechData:completionHandler];
}
}
3.
@implementation ViewController
- (void)viewDidLoad
{
[super
viewDidLoad];
labelText.text = @"iiiiiiiiiiiiiiii";
}
- (void)fechData:(void (^)(UIBackgroundFetchResult))completionHandler {
sleep(3);//同步耗时操作.....如果是请求服务器 替代使用NSURLSession
不用NSURLconnection
NSLog(@"over");
labelText.text = @"kkkkkkkkkkkk";
//如果无错误且获取到新数据
completionHandler(UIBackgroundFetchResultNewData); //获取结束的报告
}
@end
1.
![IOS <wbr>后台任务、多任务的理解2 在Capabilities中开启Background Modes](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
2.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOp
{
}
- (void)application:(UIApplication *)application performFetchWithCompleti
//
//
}
3.
@implementation ViewController
- (void)viewDidLoad
{
}
- (void)fechData:(void (^)(UIBackgroundFetchResult))completionHandler {
}
@end
网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022