在Swift中从URL加载图片:如何正确且异步地加载?
大家好!我是Swift和iOS开发的新手。我正在编写一个显示带有图片的商品列表的应用程序。图片通过URL从互联网加载。我写了一个简单的函数,但它的工作方式非常奇怪:界面会卡住几秒钟,有时图片甚至根本不显示。这是我的代码:
```swift
func loadImage(from urlString: String) -> UIImage? {
guard let url = URL(string: urlString) else { return nil }
if let data = try? Data(contentsOf: url) {
return UIImage(data: data)
}
return nil
}
```
我直接在`cellForRowAt`中为每个表格单元格调用这个函数。显然,这是一种不好的做法?我还注意到,在快速滚动时,图片开始“跳跃”——显示的不是应该显示的图片。请告诉我如何在Swift中正确组织从网络加载图片?是否需要使用一些第三方库,还是可以使用内置工具?我想了解最正确和现代的方法。