2016-05-09 10 views
0

eine App geschrieben in Objective-C Targeting iOS8/9 gibt es echte vantange in der Leistung oder Stabilität Aktualisierungscode NSURLSessiondataTaskWithRequest VS sendAsynchronousRequest in iOS8/9 unter Verwendung von Objective-C

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

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

         }); 

        }] resume]; 

anstelle von Code wie folgendes, die NSURLConnection verwenden:

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


     dispatch_sync(dispatch_get_main_queue(), ^{ 

      //UPDATE UI 

     }); 

    }]; 

Antwort

0

Wenn Sie sich entscheiden, führen Sie den Code in einer WatchKit Erweiterung oder auf tvOS irgendwann in der Zukunft, dann ja. Ansonsten, wenn das obige Snippet für die Art und Weise, wie Sie die API verwenden, repräsentativ ist, würde ich wahrscheinlich nicht versuchen, sie neu zu schreiben. Damit ist es sehr wohl eine Frage der Meinung.

+0

Gibt es Ihrer Meinung nach ein Szenario, in dem NSURLRequest "besser" ist als NSURLSession? –

+1

Sie meinen NSURLConnection, ich nehme an, NSURLRequest wird von beiden APIs verwendet. Nein, es fällt Ihnen nichts ein, außer die Kompatibilität mit vorhandenem komplexem Code beizubehalten, ohne alle Delegiertenmethoden neu schreiben zu müssen. Sonst macht NSURLSession alles, was NSURLConnection tut, und noch viel mehr. – dgatwood