它看起來像我沒有得到塊的概念,完全尚未...出NSURLResponse完成塊的獲取數據
在我的代碼,我要走出從asychronous block
JSON數據返回到從'outer
'方法。我搜索了一下,發現如果定義了一個variable with __block
,那麼這個變量被擴展爲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;
}
這是一個絕對輝煌的答案恕我直言!我花了相當長的一段時間才明白它,但它是值得的。謝謝,我學到了很多! – brainray