我正在使用iOS的Dropbox API异步下载我的tableview图像。当我在下载图像时从导航控制器弹出我的tableview控制器时,我的应用程序崩溃了。我调试并发现问题是发送到解除分配对象(僵尸)的客观c消息([DBRequest connectionDidFinishLoading:])。我该如何解决这个问题?
更新:
我从rest客户端调用了loadThumnail:ofSize:intoPath:方法来下载我的tableView中的缩略图:cellForRowAtIndexPath:委托方法来下载我的缩略图。 restClient:loadedThumbnail:destPath:在加载缩略图时调用delegate方法,我更新我的数据源,然后重新加载我的tableview。当我下载图像时从导航控制器弹出我的tableview控制器时发生崩溃。我尝试从我的其他客户端调用cancelAllRequest,但它不起作用。关于如何解决这个问题的任何想法?
- (void)restClient:(DBRestClient*)client loadedThumbnail:(NSString*)destPath {
UIImage *image = [UIImage imageWithContentsOfFile:destPath];
for (_RemoteFileObject *obj in self.objArray) {
if ([obj.thumbnailDownloadPath isEqualToString:destPath]) {
obj.thumbnail = image;
break;
}
}
[self.tableView reloadData];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//code to dequeue cell
//called load thumbnail method here
[[self restClient] loadThumbnail:obj.thumbnailURL ofSize:@"m" intoPath:obj.thumbnailDownloadPath];
}
更新2:
- (IBAction)goBack:(id)sender {
[[self restClient]cancelAllRequests];
[self.navigationController popViewControllerAnimated:YES];
}