• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 解析 XML - 从 URL 加载图像

[复制链接]
菜鸟教程小白 发表于 2022-12-13 00:39:41 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在解析一个包含图片链接的 XML 文件,并尝试在 UITableView 中显示它们。由于某种原因,它们没有出现在 View 中。我认为这个问题与我的解析脚本没有任何关系,因为它可以在表格中显示文本。这是我显示图片的代码:

- (UITableViewCell *)tableViewUITableView *)tableView cellForRowAtIndexPathNSIndexPath *)indexPath

{
    static NSString *CellIdentifier = @"Cell";

     Tweet *currentTweet = [[xmlParser tweets] objectAtIndex:indexPath.row];

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil)

    {

        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];


        CGRect imageFrame = CGRectMake(2, 8, 40, 40);

        UIImageView *customImage = [[UIImageView alloc] initWithFrame:imageFrame];

        customImage.tag = 0013;

        [cell.contentView addSubview:customImage];


    }

    UIImageView *customImage = (UIImageView *)[cell.contentView viewWithTag:0013];

    customImage.image = [UIImage imageWithData:[NSData dataWithContentsOfURL: [NSURL URLWithString:[currentTweet pic]]]];

    return cell;

}

我是否必须先加载图像?如果是这样,我该怎么做,因为我只有在解析 xml 后才能获得图像的 url?

感谢您的帮助 安托万



Best Answer-推荐答案


- (UITableViewCell *)tableViewUITableView *)tableView cellForRowAtIndexPathNSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    Tweet *currentTweet = [[xmlParser tweets] objectAtIndex:indexPath.row];
    UIImageView *customImage = (UIImageView*)[cell.contentView viewWithTag:1234];

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];

        CGRect imageFrame = CGRectMake(2, 8, 40, 40);
        customImage = [[UIImageView alloc] initWithFrame:imageFrame];
        customImage.tag = 1234;
        [cell.contentView addSubview:customImage];
    }

    dispatch_queue_t imageQueue = dispatch_queue_create("queue", NULL);
    dispatch_async(imageQueue, ^{
        UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL: [NSURL URLWithString:[currentTweet pic]]]];
        dispatch_async(dispatch_get_main_queue(), ^{
            customImage.image = image;
        });
    });

    return cell;
}

关于ios - 解析 XML - 从 URL 加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14438442/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap