afnetwork如何实现同步请求

新手上路,请多包涵

在用afnetwork时希望网络返回的结果同步,这个如何实现呢?
[self.requestManager
POST:url
parameters:params
success:^(AFHTTPRequestOperation *operation, id responseObject) {
self.responseObject = responseObject;
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[self.responseObject setObject:error forKey:@"error"];
}];
NSLog(@"希望这里显示出结果%@", self.responseObject);//这里现在输出为nil;

阅读 20.4k
3 个回答

可以参考这个链接

这里 AFNetworking 的作者给出的答案是:简单地说,不要用同步请求。

如果一定要用的话,可以用-[NSURLConnection sendSynchronousRequest:returningResponse:error]

你的问题可以简单改为:

[self.requestManager
POST:url
parameters:params
success:^(AFHTTPRequestOperation *operation, id responseObject) {
self.responseObject = responseObject;
NSLog(@"希望这里显示出结果%@", self.responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[self.responseObject setObject:error forKey:@"error"];
}];

PGNetworkHelper 网络缓存框架
1、支持同步请求。
2、将缓存的数据以及key值全部加密,确保数据的安全。

GitHub: https://github.com/xiaozhuxio...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题