我有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
......
这种方式我需要在tableview中显示。需要做哪些更改。如何获得解决方案
我使用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()
})
}
答案 0 :(得分:0)
解析Json,初始化数据,将实例添加到您的数组中 我看不到您如何解析数据以及如何初始化数据模型实例
使用TableViewDataSourceDelegate初始化您的表数据,并使用您的数组 在这一点上,我实际上更希望看到您的单元格模型,我不知道您如何对其进行自定义
通常是我的解决方案。希望对您有所帮助。