2016-11-06 46 views
0

在我的iOS應用程序中,我使用Alamofire作爲休息請求,並使用SwiftyJSON進行分析。其餘的網址正在工作,我從服務器獲取所有數據,我將其打印在控制檯中。但我無法用UITableView填充這些數據。我沒有得到任何錯誤,項目編譯和運行沒有任何問題,但表視圖是空的。這是我簡單的代碼:使用Alamofire + SwiftyJSON將數據加載到UITableView中

var contracts = [Contract]() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    getContracts(contractSearchCriteria: ContractSearchCriteria()) 

} 

// MARK: - Table view data source 

override func numberOfSections(in tableView: UITableView) -> Int { 
    return 0 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    if (contracts.count != 0) { 
     return contracts.count 
    } 
    return 0 
} 

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "contractCell", for: indexPath) 

    let contract = self.contracts[indexPath.row] 

    cell.textLabel?.text = contract.insuredPersonFullName 
    cell.detailTextLabel?.text = contract.companyName 

    return cell 
} 

這是getContracts方法:

func getContracts(contractSearchCriteria : ContractSearchCriteria) { 
    let params : Parameters = ["insuredPersonName": contractSearchCriteria.insuredPersonName] 

    Alamofire.request("\(Constants.restURL)getContracts", method: .post, parameters: params, encoding: JSONEncoding.default).validate().responseJSON(completionHandler: {response in 

     switch (response.result) { 
     case .success(let value): 
      let json = JSON(value) 
      let result = Result(json: json) 
      print(result.isSuccess) 

      for data in json["data"].arrayValue { 
       print(data) 
       self.contracts.append(Contract(json: data)) 
      } 
      self.tableView.reloadData() 
     case .failure(let error): 
      print(error) 
     } 


    }) 

} 

我使用SWIFT 3,和最新的Alamofire與SwiftyJSON在Xcode 8.什麼是錯在我的代碼?我找不到任何解決方案。

回答

1
override func numberOfSections(in tableView: UITableView) -> Int { 
    return 1 
} 
+0

tnx。 soooo愚蠢的錯誤:) –

相關問題