我正在Swift的一个爱好项目iOS应用程序上学习使用JSON和Moya。以下是我的VC代码的样子:
import UIKit
import Moya
import Moya_ModelMapper
class SQSquirrelListViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
var squirrels: [Squirrel] = []
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.fetchData()
}
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
}
func fetchData() {
let provider = MoyaProvider<SQService>()
provider.request(.squirrelsIndex(page: "1")) { result in
switch result {
case let .success(moyaResponse):
do {
let sq = try moyaResponse.mapObject() as Squirrels
self.squirrels = sq.items
} catch {
print(error.localizedDescription)
}
let statusCode = moyaResponse.statusCode
print("STATUS CODE: \(statusCode)")
case let .failure(error):
print(error.localizedDescription)
}
}
tableView.reloadData()
}
}
启动应用后,squirrels
数组为空。我不确定它是否与Moya有关,或者它是我的View Controller流程中的缺陷?
答案 0 :(得分:2)
重新加载表格视图的行必须在完成处理程序中。