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;

ios afnetworking

卯花之佐久夜姬 9 years, 9 months ago

可以参考 这个链接

这里 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"];
}];

霜之不高興 answered 9 years, 9 months ago

Your Answer