У меня есть tableView
.
class DataModel: Mappable {
var name: String = ""
var geoArray = [DataModel]()
required init?(map: Map) {
}
// Mappable
func mapping(map: Map) {
name <- map["name"]
dataFetched : for i in 0...100{
array <- map["Add\(i)"]
if array.count > 0{
break dataFetched
}
}
}
}
в viewController
: -
var ListArray = [DataModel]()
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.ListArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = self.ListArray[indexPath.row].name
return cell
}
мой API имеет следующий формат: -
"Add": [{"name":"Topics","Add1":[{"name":"Subjects","Add2":[{"name":"Biology","Add3":[{and so.......}]}]}]}]
поэтому мне нужен вывод в виде: -
Topics
Subjects
Biology
......
таким образом мне нужно отобразить в виде таблицы. Какие изменения нужно сделать. Как получить решение
Я использовал API для передачиданные как: -
func getData() {
let url = "example.com"
print(url)
self.newtworkHelper.makeAPIRequestget(url: url, needHeaders:true, successCompletion: { (data, isError, isNetworkError,isGoToLogin) in
print(data)
print(isError)
print(isNetworkError)
print(isGoToLogin)
if isNetworkError{
print("network error")
return
}
if isGoToLogin{
print("isgologin")
return
}
if isError{
print("error")
return
}
if let response = data as? [String:Any]{
if let result = response["result"] as? [String:Any]{
if let Add = result["Add"] as? [[String : Any]]{
for request in Add {
self.ListArray.append(DataModel(JSON: request)!)
}
}
}}
self.tableview.reloadData()
})
}