如何在UITableViewCell中动态加载来自网站的数据?

时间:2015-12-29 06:24:26

标签: ios objective-c uitableview

我正在学习iOS开发,并希望创建一个新闻应用程序来加载来自不同网站的帖子并将其合并到一个表中。 UITableViewCell的代码如下图所示:

enter image description here

1 个答案:

答案 0 :(得分:0)

您将获得许多提供最新消息的第三方API,您可以使用其中任何一个,解析数据并按照下面的示例

这是使用原生UITableViewCell的示例,如果您需要自定义布局,可以使用自定义单元格

- (UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    cell.tag = indexPath.row;
    NSDictionary *parsedData = self.loader.parsedData[indexPath.row];
    if (parsedData)
    {
       cell.imageView.image = nil;
       dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
       dispatch_async(queue, ^(void) {

        NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:parsedData[@"imageLR"]];

        UIImage* image = [[UIImage alloc] initWithData:imageData];
        if (image) {
             dispatch_async(dispatch_get_main_queue(), ^{
                 if (cell.tag == indexPath.row) {
                     cell.imageView.image = image;
                     [cell setNeedsLayout];
                 }
             });
         }
         });

    cell.textLabel.text = parsedData[@"description"];
    }
    return cell;
}