如何在Swift中正确地在后台线程执行代码(Grand Central Dispatch)?
大家好!我是Swift iOS开发的新手,遇到了多线程问题。我的应用需要从网络加载图片。当我在主线程调用加载函数时,界面会卡顿几秒钟——表格滚动变慢,动画消失。我知道需要把耗时操作(网络请求、数据处理)放到后台线程,但不知道如何正确实现。
以下是我的代码示例:
```swift
func loadImage(from urlString: String) -> UIImage? {
guard let url = URL(string: urlString) else { return nil }
do {
let data = try Data(contentsOf: url)
return UIImage(data: data)
} catch {
print("Error loading image: \(error)")
return nil
}
}
// 在viewDidLoad中使用
override func viewDidLoad() {
super.viewDidLoad()
let image = loadImage(from: "https://example.com/large-image.jpg")
imageView.image = image
}
```
我听说过Di