Ios 在异步块中调用函数
我的应用程序中有很多服务器请求,所以我试图设置一个JasonParser类来处理我的网络请求 以下是我的功能:Ios 在异步块中调用函数,ios,function,afnetworking,Ios,Function,Afnetworking,我的应用程序中有很多服务器请求,所以我试图设置一个JasonParser类来处理我的网络请求 以下是我的功能: - (void)startParseWithParameters:(NSDictionary*)incomingParameters andUrlAdress:(NSString*)urlAdress { AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; m
- (void)startParseWithParameters:(NSDictionary*)incomingParameters andUrlAdress:(NSString*)urlAdress {
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
NSDictionary *parameters = incomingParameters;
__weak typeof(self) weakSelf = self;
[manager POST:urlAdress parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *recivedErr = responseObject[@"error"];
[weakSelf didReceiveResponse:[recivedErr integerValue];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
}
-(void)didReceiveResponse:(NSInteger)status {
}
但是函数'didReceiveResponse'在块完成之前调用,因此我无法获取值。
有办法处理吗?你是说在你的请求完成之前调用了
didReceiverResponse
?是的。。这就是我说的,“在区块完成之前”和“在你的请求完成之前”是不一样的。您是否尝试通过在“didReceiveResponse”中添加断点来查看堆栈跟踪?是的。。函数'didReceiveResponse'在异步请求完成之前调用,所以在这一点上我没有变量,所以我总是得到0。堆栈跟踪说了什么?