Dropbox iOS API [DBRequest connectionDidFinishLoading:]消息发送到解除分配的对象(僵尸)崩溃

时间:2015-11-18 20:12:01

标签: ios objective-c uitableview memory-management dropbox-api

我正在使用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];


}

0 个答案:

没有答案