【发布时间】:2015-07-01 03:17:37
【问题描述】:
我这里有一段代码,它基本上调用了我的 servlet(它确实如此),然后返回结果。但是,如果我在(参考if(isSync))中添加了同步/阻塞部分,则不会调用完成块并且整个应用程序会挂在dispatch_group_wait 中。如果有任何区别,则从主线程调用此代码。
// ...More code here
if(isSync)
{
dispatch_group_enter(group);
}
AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:REQ];
op.responseSerializer = [AFJSONResponseSerializer serializer];
[op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSDictionary *result = responseObject;
NSLog(@"JSON responseObject: %@ ", result);
if(isSync)
{
dispatch_group_leave(group);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", [error localizedDescription]);
if(isSync)
{
dispatch_group_leave(group);
}
}];
[op start];
if(isSync)
{
dispatch_group_wait(group, DISPATCH_TIME_FOREVER);
}
我错过了什么吗?
【问题讨论】:
-
这是一个愚蠢的错误,在一段时间后我发现了问题-.-。我根本没有使用异步组 x.x
标签: objective-c ios8 afnetworking objective-c-blocks afnetworking-2