菜鸟教程小白 发表于 2022-12-13 01:25:56

ios - 如何进行多线程以更快地将图像加载到tableView?


                                            <p><p>我正在将图像加载到tableView,每次函数</p>

<pre><code>-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
</code></pre>

<p>执行后,会出现不同的图片url.. </p>

<p>我的问题是加载图片要花很多时间..</p>

<p>我的代码是..</p>

<pre><code>-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.tableView1 = tableView;
    static NSString *simpleTableIdentifier = @&#34;SimpleTableCell&#34;;
    SimpleTableCell *cell = (SimpleTableCell *);
if (cell == nil)
{
    NSArray *nib = [ loadNibNamed:@&#34;SimpleTableCell&#34; owner:self options:nil];
    cell = ;
}

    cell.nameLabel.text = title;

    NSString *imageURL = ;

   cell.thumbnailImageView.image = ]];
}
return cell;
}
</code></pre>

<p>每次图片 url 都会改变,加载每张图片都需要时间..</p>

<p>任何人都可以提出解决这个问题的任何想法吗?
多线程将如何使用此代码?
我应该在代码中的什么地方和什么地方编辑?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您必须在后台下载图片,例如:</p>

<pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @&#34;SimpleTableCell&#34;;
    SimpleTableCell *cell = (SimpleTableCell *);   
         dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0ul);
      dispatch_async(queue, ^{

            NSString *u=;
            NSURL *imageURL=;
            NSData *imageData=;
            dispatch_sync(dispatch_get_main_queue(), ^{
                SimpleTableCell *cell = (SimpleTableCell *);
               cell.thumbnailImageView.image=;
                ;

            });
      });

    }

    return cell;
}
</code></pre>

<p>只需在您的表格 View 方法中使用上述代码并进行必要的编辑,这应该适合您。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何进行多线程以更快地将图像加载到tableView?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/15270395/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/15270395/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何进行多线程以更快地将图像加载到tableView?