【发布时间】:2014-03-10 19:46:15
【问题描述】:
我的代码:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager] ;
manager.requestSerializer = [AFJSONRequestSerializer serializerWithWritingOptions:NSJSONReadingAllowFragments];
manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
[manager POST:[_urlBase stringByAppendingPathComponent:_urlRequest]
parameters:paramDictionary
success:^(NSURLSessionDataTask *task, id responseObject){
dispatch_async(dispatch_get_main_queue(),^{
[self AFRequestFinished:responseObject];
});
}
failure:^(NSURLSessionDataTask *task, NSError *error){
NSLog(@"JSON ERROR PARAMETERS: %@", error);
}
];
我正在使用这个POST 请求将几种类型的数据连同图片一起发送到服务器。
我对@987654324@ 请求使用了非常相似的东西,它工作正常。每当我运行此代码时,我都会在 AFNetworking 2.0. 的以下行收到 EXC_BAD_ACCESS CODE=1 错误,responseObject 是 0x0:
responseObject = [self.responseSerializer responseObjectForResponse:task.response data:[NSData dataWithData:self.mutableData] error:&serializationError];
上面这行代码在 if/else 方法中:
- (void)URLSession:(__unused NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error
更新
我在代码上运行了工具,它有一个僵尸存在。 AFNetworking 正在尝试调用 NSError,但它已被释放。我相信这是因为 POST 调用最初成功,但仍然有一个错误被标记。所以它最初认为没有错误并将其设置为nil,但随后尝试在POST 的错误块中调用它。
【问题讨论】:
-
是
self.mutableDatanil?如果是这样,那么这可能是一个在AFNetworking issues page 上发布的好问题。 -
self.mutableData != nil这个问题似乎是对已解除分配的错误的调用
标签: objective-c http post afnetworking-2