Abrufen von Daten aus der NSURLResponse Abschluss block

Wie es aussieht, habe ich nicht bekommen, das Konzept der Blöcke, die vollständig noch...

In meinem code habe ich, um aus der JSON-Daten aus der asychronous block zurückgebracht werden, aus der ' outer ' - Methode. Ich gegoogelt und gefunden, dass, wenn die Definition einer variable with __block, die Sichtbarkeit _mutability_ of diese variable erweitert, um die block.

Aber aus irgendeinem Grund zurückgegebenen json-Objekt ist null.Ich Frage mich, warum?

- (NSMutableDictionary *)executeRequestUrlString:(NSString *)urlString
{
__block NSMutableDictionary *json = nil;
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

[request setHTTPShouldHandleCookies:YES];
[request setHTTPMethod:@"GET"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-type"];

NSString *cookieString = [self.userDefaults objectForKey:SAVED_COOKIE];

[request addValue:cookieString forHTTPHeaderField:@"Cookie"];

[NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue currentQueue]
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
                       {

                           NSLog(@"dataAsString %@", [NSString stringWithUTF8String:[data bytes]]);

                           NSError *error1;
                           NSMutableDictionary * innerJson = [NSJSONSerialization
                                   JSONObjectWithData:data
                                              options:kNilOptions
                                                error:&error1];
                           json = innerJson;

                       }];

    return json;
}

InformationsquelleAutor brainray | 2012-09-10

Schreibe einen Kommentar