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 = @"SimpleTableCell";
SimpleTableCell *cell = (SimpleTableCell *);
if (cell == nil)
{
NSArray *nib = [ loadNibNamed:@"SimpleTableCell" 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 = @"SimpleTableCell";
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]