11. Список заказов в OrderViewController
Нужно найти ошибки в этом коде и исправить их.
class OrderService {
func fetchOrders(completion: @escaping ([Order]?, Error?) -> Void) {
DispatchQueue.global(qos: .userInitiated).async {
let orders: [Order] = // fetch
completion(orders, nil)
}
}
}
struct Order: Decodable {
let customerName: String
let orderID: Int
}
class OrderViewController: UIViewController {
private let tableView = UITableView()
private var orders: [Order] = []
private let orderService: OrderService = ...
override func viewDidLoad() {
// setup code for tableView
orderService.fetchOrders { (orders, error) in
if let orders {
self.orders = orders
self.tableView.reloadData()
}
}
}
}
extension OrderViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell()
cell.textLabel?.text = orders[indexPath.row].customerName
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return orders.count
}
}Дополнительные вопросы
1. В чём проблема вызова reloadData не с главного потока и как она может проявляться?