Wie bekomme ich Daten von Blöcken mit NSURLSession?

7

Ich habe ein Problem mit diesem Block. Ich versuche, die Daten in den Block von NSURLSession zu bekommen.

hier ist mein Code

%Vor%

Ist es möglich, die Daten innerhalb der Blöcke von NSURLSession zu bekommen?

    
user3818576 03.10.2014, 07:12
quelle

4 Antworten

23
%Vor%

rufen Sie dies an:

%Vor%     
neo D1 03.10.2014, 07:39
quelle
8

Sie sollten einen Abschlussblock verwenden, z. B .:

%Vor%

Dann würde die Methode, die dies aufruft, tun:

%Vor%

Sie rufen eine asynchrone Methode auf, die ein Completion-Block-Muster verwendet, daher sollten Sie auch das Completion-Block-Muster in Ihrem eigenen Code verwenden.

    
Rob 03.10.2014 07:31
quelle
3

Sie müssen sich mit dieser Methode beschäftigen. Am besten benennen Sie Ihre Methode von RetrieveData (Sie verletzen die Cocoa-Namenskonventionen hier) zu startRetrievingData um. Sie können keine Methode schreiben, um die Daten tatsächlich abzurufen, da dies im schlimmsten Fall Minuten dauern kann und Ihre Benutzer Sie hassen werden.

Nennen Sie es startRetrievingData, lassen Sie es void zurückgeben und übergeben Sie zwei Blöcke, wenn diese in der Zukunft aufgerufen werden, wenn die Daten abgerufen wurden, und eine, die in der Zukunft aufgerufen wird, wenn ein Fehler passiert ist, und Sie können Erhalte die Daten nicht.

Sie können die Daten nicht zurückgeben . Frag nicht "Wie gebe ich Daten zurück?", Das geht einfach nicht. Sie geben dem Code einen Block, der aufgerufen wird, wenn Daten verfügbar sind, und dieser Block ist dafür verantwortlich, mit den Daten zu arbeiten, was auch immer Sie damit machen wollen.

    
gnasher729 03.10.2014 07:56
quelle
1
%Vor%     
neo D1 03.10.2014 07:26
quelle