1
I Funktion haben, unterhalb der Kurse pro Benutzer zurückgibt:Antwort von completionHandler ist gleich Null
func CoursesPerUser(controler: UIViewController, completionHandler: @escaping (Result<[Course]>) -> Void){
Alamofire.request(Constants.API.Users + UserId() + Constants.API.CoursesPerUser + Token(), encoding: JSONEncoding.default).responseJSON { response in
guard response.result.error == nil else {
print(response.result.error!)
completionHandler(.failure(response.result.error!))
return
}
guard let json = response.result.value as? [[String: AnyObject]] else {
print("Didn't get course objects as JSON from API")
completionHandler(.failure(BackendError.objectSerialization(reason: "Did not get JSON array in response")))
return
}
var courses:[Course] = []
for element in json {
if let courseResult = Course(json: element) {
courses.append(courseResult)
}
}
completionHandler(.success(courses))
}
}
Wenn ich rufe die Funktion Antwortwert von Null hat.
NetworkManager.sharedInstance.CoursesPerUser(controler: controler) { response in
print("Size of courses" + String(describing: response.value?.count))
}
Ich habe jedes Element in der Funktion CoursesPerUser gedruckt und alles funktioniert gut. Ich frage mich, ob ich nicht mit der guten Manier handle.
Bitte stellen Sie Ihre Lösung als die Antwort, da jemand anderes auf dieses Problem stoßen könnte, und es wird besser lesbar sein, wenn Ihre Lösung in Form einer Antwort vorliegt. – Miknash