Получение данных из блока завершения NSURLResponse

Похоже, я неПонятие блоков еще не полностью ...

В моем коде я должен получить данные JSON изasychronous block чтобы быть возвращенным изouter метод. Я гуглил и обнаружил, что если определитьvariable with __block, v̶i̶s̶i̶b̶i̶l̶i̶t̶y̶ _mutability_ of эта переменная распространяется на.block

Но по какой-то причине возвращаемый объект json равен нулю. Интересно, почему?

- (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;
}

Ответы на вопрос(3)

Ваш ответ на вопрос