无法将JSON响应分配给预先声明的数组

时间:2017-02-01 15:57:37

标签: ios arrays json swift moya

我正在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流程中的缺陷?

1 个答案:

答案 0 :(得分:2)

重新加载表格视图的行必须完成处理程序中。