Wie bekomme ich Daten aus Blöcken mit NSURLSession?

Ich habe ein problem mit diesem block. Ich versucht, um die Daten in den block, der NSURLSession.

hier ist mein code

-(NSDictionary *) RetrieveData{

    NSURLSession * session = [NSURLSession sharedSession];
    NSURL * url = [NSURL URLWithString: self.getURL];
    dataList =[[NSDictionary alloc] init];

    NSURLSessionDataTask * dataTask = [session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

        self.json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

    }];
    return self.dataList;
    [dataTask resume];

}

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

  • Sind Sie versuchen, zu verwenden die JSON-außerhalb des Blocks? Dieser block wird asynchron ausgeführt, so trifft man auf die folgenden Zeilen [dataTask resume] auch vor dem block ausführt, die die JSON-parsing statt.
  • hi @Rob ich update meinen post. Ja ich will die json-Daten zu erhalten, die von block-und zurück in meine Methode.
  • Sie nicht. Wenn Sie möchten, übergeben Sie es zurück, müssen Sie beschäftigen eine Fertigstellung block-Muster.
  • Es immer noch null zurückgeben, Wenn ich diese Methode
  • Sie sollten nicht alles zurückzugeben, was von dieser Methode (oder vielleicht auch nur die NSURLSessionDataTask Zeiger). Sie übergeben die Daten wieder in ein Abschluss-block, z.B. stackoverflow.com/a/26107818/1271826
InformationsquelleAutor user3818576 | 2014-10-03
Schreibe einen Kommentar