我知道,这个问题以前问过。但在这种情况下不适合我。我正在为传输层开发 AFNetworking。我的代码如下。
AFHTTPRequestOperation *post; AFHTTPRequestOperationManager *manager;
AFHTTPRequestOperationManager * manager = [AFHTTPRequestOperationManager manager];
NSMutableDictionary *paramDict = [[NSMutableDictionary alloc] init] ;
delegate = (id<ConnectionUtilDelegate>) delegateObject;
for (Parameter *param in parameterArray)
{
[paramDict setObject:param.value forKey:param.name];
}
NSDictionary *params = paramDict;
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager.operationQueue cancelAllOperations];
post = [manager POST:[NSString stringWithFormat:@"%@",url] parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
[delegate requestCompleted:responseObject];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[delegate requestFailed:error];
NSLog(@"Error: %@", error);
}];
这是我的发帖请求。它的工作就像魅力。但有时某些请求可能会迟到。例如,我发送 2 个不同的帖子请求,名称为 P1(帖子 1)和 P2(帖子 2)。如果这些请求响应返回为 R1(响应 1)而不是 R2(响应 2)对我来说可以。但是,如果此请求响应返回为 R2(响应 2)而不是 R1(响应 1),则它是我的应用程序的原因。所以我想在发送新请求时取消旧请求。和
[帖子取消];
错误:[AFHTTPRequestOperation cancel]:消息发送到已释放实例 0x1723cbf0
不为我工作。你有什么建议吗?