Avatar ·

在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中正确组织从网络加载图片?是否需要使用一些第三方库,还是可以使用内置工具?我想了解最正确和现代的方法。