Данные Json не добавляются в модель данных: Swift

#swift #xcode

#swift #xcode

Вопрос:

Я анализирую данные из API. Вывод печатается, но данные не добавляются в массив.Я пытаюсь получить tableview для отображения проанализированных данных, но массив, который должен заполнять мой tableview, не добавляется. Может кто-нибудь быстро взглянуть и сообщить мне, что я делаю не так?

 var jsonServiceInfo = [SmsHistory]()

func apiFunction(selectedValue : String){

    let userToken: HTTPHeaders = [

        "Authorization": "bearer (accessToken)",
        "Content-Type": "application/x-www-form-urlencoded"
    ]
    let parms : [String : String] = ["CustomerID" : customerID ,"DateTo" : dateTotxtfield.text!, "DateFrom" : dateFromtxtfield.text!  ]
    if selectedValue == "SMS"{
    getSMSHistory(url: getSMSHistoryUrl, parameter: parms, token: userToken){
        (isDone) in
        if isDone{
           self.messageHistorytableview.reloadData()
        }
        }

    }

}


     func getSMSHistory(url : String , parameter : [String : String] , token : HTTPHeaders , completion : @escaping (_ isDone : Bool) -> ()){
    Alamofire.request(url, method: .get, parameters: parameter, headers: token).responseJSON { (response) in
        if response.result.isSuccess{
            let jsonArray: JSON = JSON(response.result.value!)
            let jsonContent = jsonArray["Content"]
            print(jsonContent)
            print(jsonContent)
            for arr in jsonContent.arrayValue{
               self.jsonServiceInfo.append(SmsHistory(json: arr))

            }
        }
  completion(true)
    }
}
    func numberOfSections(in tableView: UITableView) -> Int {
    return jsonServiceInfo.count
  }
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 1
   }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "customMessageCell" , for: indexPath) as! SMSHistoryTableViewCell
    cell.messagelbl.text = jsonServiceInfo[indexPath.row].smsBody
    return cell
    }
  

Ответ №1:

Вы перепутали содержимое numberOfRowsInSection и numberOfSections . Последний должен возвращать 1

Комментарии:

1. Спасибо, что указали на мою проблему. Я потратил на это 2 дня. еще раз спасибо