SDWebimage setImageWithUrl无法完成

时间:2014-05-14 11:10:35

标签: ios objective-c uitableview sdwebimage

我有一个tableview,其中我加载一些单元格,并插入一些图像。图像是在SDWebImage库的帮助下下载的。但是有一个问题:似乎从未调用下载图像的功能(或在完成之前中断),因此从不在imageView iv上调用完整的方法。它只是插入占位符图像,这是一个透明的png(是的,我检查过,它在那里^^)。

if语句中的NSLogged也没有错误。

有什么想法吗?

代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *myIdentifier = @"defaultcell";
    UIActivityIndicatorView *spinner;
    UIImageView *iv;

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:myIdentifier forIndexPath:indexPath];

    if(cell == nil){
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:myIdentifier];
        //build spinner
        spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhiteLarge];
        spinner.center = CGPointMake(160, 47);
        spinner.tag = 101;
        [cell.contentView addSubview:spinner];

        //build ImageView
        iv = [[UIImageView alloc] initWithFrame:(CGRect){.size={80, 60}}];
        iv.contentMode = UIViewContentModeScaleAspectFill;
        iv.clipsToBounds = YES;
        iv.tag = 102;
        iv.frame = CGRectMake(15, 17, 80, 60);
        [cell.contentView addSubview:iv];
    } else {
        spinner = (UIActivityIndicatorView*)[cell viewWithTag:101];
        iv = (UIImageView*)[cell viewWithTag:102];
    }



    [spinner startAnimating];
    //the rest goes here


    cell.textLabel.hidden = YES;
    cell.detailTextLabel.hidden = YES;
    cell.imageView.hidden = YES;

    NSString *profilePicName = [NSString stringWithFormat:@"%@%@", [self.dbhandler getPicturesPath], [[gallery objectAtIndex:indexPath.row] valueForKey: @"filename"]];
    NSLog(@"%@", profilePicName);

    [iv setImageWithURL:[NSURL URLWithString:profilePicName]  placeholderImage:[UIImage imageNamed:@"placeholder.png"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType){
        if(error){
            NSLog(@"Callback Error: %@", error);
        }
        [spinner stopAnimating];
        cell.textLabel.hidden = NO;
        cell.detailTextLabel.hidden = NO;
        cell.imageView.hidden = NO;

        NSLog(@"done");
    }];


    NSString *subtitle = [NSString stringWithFormat:@"Comments:  %@ \nPosted:        %@", [[gallery objectAtIndex:indexPath.row] valueForKey:@"comments"], [[gallery objectAtIndex:indexPath.row] valueForKey:@"created_at"]];

    cell.detailTextLabel.numberOfLines = 0;
    cell.textLabel.text = [NSString stringWithFormat:@"Votes:    %@",[[gallery objectAtIndex:indexPath.row] valueForKey:@"votes"]];
    cell.detailTextLabel.text = subtitle;

    return cell;
}

0 个答案:

没有答案