2016-11-06 5 views
0

In meiner iOS-App verwende ich Alamofire für die Ruheanforderung und SwiftyJSON für die Analyse. Die Rest-URL funktioniert und ich bekomme alle Daten vom Server, ich drucke es in der Konsole. aber ich kann diese Daten nicht mit UITableView auffüllen. Ich bekomme keine Fehler, Projekt kompiliert und läuft ohne Probleme, aber die Tabellenansicht ist leer. dies ist mein einfacher Code:Daten werden nicht mit Alamofire + SwiftyJSON nach UITableView geladen

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 
} 

das ist getContracts Methode:

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) 
     } 


    }) 

} 

ich swift 3 verwenden und neueste Alamofire mit SwiftyJSON in Xcode 8. was in meinem Code falsch? Ich kann keine Lösung finden.

Antwort

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

tnx. soooo dummer Fehler :) –

Verwandte Themen