Handling Network Connections in the Background(在多任务环境下网络连接的处理)

   当用户按下home键时,app进入后台,此时app的下载过程会自动暂停,直到重新激活app,下载会自动恢复

e.g.  

- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

    NSString *urlAsString = @"http://www.apple.com";

    NSURL *url = [NSURL URLWithString:urlAsString];

    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];

    NSOperationQueue *queue = [[NSOperationQueue alloc] init];


    [NSURLConnection

     sendAsynchronousRequest:urlRequest

     queue:queue

     completionHandler:^(NSURLResponse *response,

                         NSData *data,

                         NSError *error) {

         if (error == nil && [data length] >0 ){

             NSLog(@"have data");

         }else if (error == nil && [data length] == 0){

             NSLog(@"No data");

         }else if (error != nil){

             NSLog(@"Error happened");

         }

     }];

    return YES;

}

===================

e.g.

- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    

    dispatch_queue_t dispatchQueue =  dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);   

    dispatch_async(dispatchQueue, ^(void) {

        NSString *urlAsString = @"http://www.apple.com";

        NSURL *url = [NSURL URLWithString:urlAsString];

        NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];

        NSError *error = nil;      

        NSData *connectionData = [NSURLConnection

                                  sendSynchronousRequest:urlRequest

                                  returningResponse:nil

                                  error:&error];        

         if (error == nil && [connectionData length] >0 ){

             NSLog(@"have data");

         }else if (error == nil && [connectionData length] == 0){

             NSLog(@"No data");

         }else if (error != nil){

             NSLog(@"Error happened");

         }

    });

    return YES;

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值