IOS 后台任务、多任务的理解2

IOS7的:
     情况2,微博微信后台页面刷新,参考:http://onevcat.com/2013/08/ios7-background-multitask/
     所谓的“后台获取”
    
1.
在Capabilities中开启Background Modes

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
posted @ 2013-11-15 17:27  SEC.VIP_网络安全服务  阅读(109)  评论(0编辑  收藏  举报