Ich möchte eine Liste von Übungen in eine Tabellenansicht importieren. Ich habe es funktioniert, um die erste Seite zu importieren, aber das ist nur eine Handvoll Übungen. Der JSON scheint Links zur nächsten Seite zu haben, und ich möchte sie alle laden können, wenn ich den Ladevorgang starte.Umgang mit einem mehrseitigen JSON und TableView?
Müsste ich irgendeine Art von if else-Anweisung verwenden, um aufeinanderfolgende Seiten zu laden, wenn sie existieren, andernfalls end loading?
Das ist mein API-Service
open class ApiService: NSObject {
open func getData(completionHandler: @escaping (NSDictionary?, NSError?) -> Void) -> Self {
let requestUrl = "https://wger.de/api/v2/exercise/?format=json"
Alamofire.request(requestUrl, method: .get, encoding: URLEncoding.default)
.responseJSON { response in
switch response.result {
case .success(let data):
completionHandler(data as? NSDictionary, nil)
case .failure(let error):
print("Request failed with error: \(error)")
completionHandler(nil, error as NSError?)
}
}
return self
}
}
Dies ist meine JSON, die eindeutig auf der folgenden Seite in der ersten Zeile dieses
verweist ist meine Tabellenansicht, die Daten in i zieht f relevant
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
if (searchActive){
cell.textLabel?.text = filtered[indexPath.row]
} else {
if let row: NSDictionary = arrRes[indexPath.row] as NSDictionary? {
guard let name = row["name"] as? String else {
print("Fail")
return cell
}
cell.textLabel?.text = name
}
}
return cell
}
Danke für ein paar Tipps!
Klingt gut, aber ich habe keine Ahnung, wie dies zu tun ist, was die erste Frage war – infernouk