在tableView的函数中使用async函数,即在该函数中进行异步操作。代码示例如下:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath) as! MyTableViewCell
async { let result = await fetchData() // 异步获取数据 DispatchQueue.main.async { cell.configure(with: result) // 在主线程更新UI } }
return cell }
// 异步获取数据的函数 func fetchData() async -> [String] { let url = URL(string: "https://example.com/data")! let (data, _) = try! await URLSession.shared.data(from: url) let response = try! JSONDecoder().decode(Response.self, from: data) return response.items }
这里使用async和await关键字来进行异步操作。fetchData()函数会异步获取数据,并且返回一个数组,表示所获取的数据项。在tableView函数中,我们使用async函数来调用fetchData()函数,获取数据之后,在主线程中更新UI。