dataTaskWithRequest使用Objective-c在iOS8 / 9中使用sendAsynchronousRequest

时间:2016-05-09 20:33:05

标签: objective-c nsurlconnection nsurlsession

使用针对iOS8 / 9的Objective-C编写的应用程序使用NSURLSession实现性能或稳定性更新代码的真正意义

NSURLSession *session = [NSURLSession sharedSession];
        [[session dataTaskWithRequest:request
                    completionHandler:^(NSData *data,
                                        NSURLResponse *response,
                                        NSError *error) {

                        dispatch_sync(dispatch_get_main_queue(), ^{
                              //UPDATE UI

                        });

                    }] resume];

代替使用NSURLConnection的以下代码:

   [NSURLConnection sendAsynchronousRequest:request
                                       queue:[CMRequestManager connectionQueue]
                           completionHandler:^(NSURLResponse *response,
                                               NSData *data, NSError *connectionError)
     {


         dispatch_sync(dispatch_get_main_queue(), ^{

             //UPDATE UI

         });

     }];

1 个答案:

答案 0 :(得分:0)

如果您决定在将来的某个时间点在WatchKit扩展程序或tvOS上运行代码,那么是。否则,如果上面的代码段代表您使用API​​的方式,那么我可能不会重写它。话虽如此,这非常属于意见问题。