Avatar ·

如何在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