Das war ich Ich hoffe, es beim Laden der App zu generieren, damit ich sie in einer Tabellenansicht anzeigen kann, anstatt jedes Mal auf eine Schaltfläche klicken zu müssen, um sie zu laden.
Ich erhalte danach eine Fehlermeldung versucht, die Funktion auszuführen viewDidLoad():
"Die angegebenen Daten waren kein gültiges JSON"
Im Folgenden finden Sie die Codes als Referenz:
Code: Select all
struct Claims: Decodable {
let id: Int
let submission_date: String
let status: String
init(json: [String:Any]) {
id = json["id"] as? Int ?? -1
submission_date = json["submission_date"] as? String ?? ""
status = json["status"] as? String ?? ""
}
}
class DashboardController: UIViewController, GIDSignInUIDelegate {
var claimSummaryArray: [ClaimProperties] = []
let appDelegate = UIApplication.shared.delegate as! AppDelegate
override func viewDidLoad() {
getData()
}
func getData() {
guard let urlString = URL(string: "https://claim.ademo.work/claims/") else { return }
var requestAPI = URLRequest(url: urlString)
requestAPI.httpMethod = "GET"
requestAPI.addValue("application/json", forHTTPHeaderField: "Content-Type")
requestAPI.addValue("application/json", forHTTPHeaderField: "Accept")
requestAPI.setValue("Bearer \(appDelegate.userAppToken)", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: requestAPI) { (data, response, error) in
if let data = data {
do {
let json = try JSONDecoder().decode([Claims].self, from: data)
print (json)
} catch let error {
print("Seems to have an error: \(error)")
}
}
}
task.resume()
}
}
[ClaimApp.Claims(id : 1, Einreichungsdatum: „2020-02-28T13:50:41.000+08:00“, Status: „ausstehend“), ClaimApp.Claims(id: 2, Einreichungsdatum: „2020-02-28T13:53:38.000+08:00“, Status: „ausstehend“), ClaimApp.Claims(id: 3, Einreichungsdatum: „2020-02-28T14:21:46.000+08:00“, Status : „ausstehend“), ClaimApp.Claims(id: 4, Einreichungsdatum: „2020-02-28T14:22:07.000+08:00“, Status: „ausstehend“)]
Fehler, der zurückgegeben wird (durch Aufruf ausgeführt). eine normale Funktion von viewDidLoad()):
Scheint einen Fehler zu haben:
dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: „Die angegebenen Daten waren kein gültiges JSON.“, zugrundeliegender Fehler: Optional(Error Domain=NSCocoaErrorDomain Code=3840 „Ungültiger Wert um Zeichen 0.“ UserInfo={ NSDebugDescription=Ungültiger Wert um Zeichen 0.})))
P.S./ Ich bin neu hier, bitte entschuldigen Sie, falls es Missverständnisse oder Verwirrungen gibt.