簡體   English   中英

使用Task-c在iOS8 / 9中使用dataTaskWithRequest VS sendAsynchronousRequest

[英]dataTaskWithRequest VS sendAsynchronousRequest in iOS8/9 using Objective-c

使用以iOS 8/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

         });

     }];

如果您決定將來某個時候在WatchKit擴展程序或tvOS中運行代碼,則可以。 否則,如果上面的代碼段代表了您使用API​​的方式,那么我可能就不會再重寫它了。 話雖如此,這很大程度上是一個見解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM