以下是我的代码
NSURL *serverUrl =[NSURL URLWithString:urlString];
NSURLSession *session=[NSURLSession sharedSession];
NSURLSessionDataTask *sessionTask =[session dataTaskWithURL:serverUrl completionHandler:^(NSData *data,NSURLResponse *response,NSError *errror){
NSString *returnedString =[NSString stringWithUTF8String:[data bytes]];
NSLog(@"returnedString %@",returnedString);
NSError *parseError;
NSArray *jsonArray=[NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"jsonArray %@",jsonArray);
}];
[sessionTask resume];
不执行完成处理程序块。如果我保持断点并检查直到NSURLSessionDatatask它完美地工作。一旦它到达完成处理程序块,则断点跳转到[datatak resume]行。这是我的问题。请有人协助我解决这个问题。
答案 0 :(得分:0)
completionHandler不会立即执行,就像名称听起来一样,只有在任务完成后才能执行。
所以它的正常行为是不立即执行completionHandler并转到下一行。