无法将 JSON 响应分配给预先声明的数组
Cannot assign JSON response to a pre-declared array
我正在 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 流程存在缺陷?
重新加载 table 视图的行必须在 完成处理程序中。
我正在 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 流程存在缺陷?
重新加载 table 视图的行必须在 完成处理程序中。