Ich bin ein unerfahrener Entwickler, der versucht, eine einfache App zu schreiben, die Beiträge von einer WordPress-Site als Feed darstellt. Ich verwende die WordPress-REST-API und verbrauche diese schnell. Ich bleibe beim Analysieren des JSON stecken und präsentiere es schnell.
Details unten, aber wie codiere ich die doppelte Kennung von „Titel“ + „gerendert“ von der REST-API?
Bisher habe ich das in Kürze bekommen:
import SwiftUI
struct Post: Codable, Identifiable {
let id = UUID()
var title.rendered: String
var content.rendered: String
}
class Api {
func getPosts(completion: @escaping ([Post]) -> ()) {
guard let url = URL(string: "https://councillorzamprogno.info/wp-json/wp/v2/posts") else { return }
URLSession.shared.dataTask(with: url) { (data, _, _) in
guard let data = data else { return }
let posts = try! JSONDecoder().decode([Post].self, from: data)
DispatchQueue.main.async {
completion(posts)
}
}
.resume()
}
aber die “var title.rendered: String” wird von Xcode nicht akzeptiert, ich erhalte den Fehler “Aufeinanderfolgende Deklarationen in einer Zeile müssen durch ‘;’ getrennt werden. Wie soll ich also vorgehen, um die Post-Kachel, den Inhalt usw. wann zu erhalten in der REST-API sieht es so aus:
{
id: 1216,
date: "2020-11-18T00:51:37",
date_gmt: "2020-11-17T13:51:37",
guid: {
rendered: "https://councillorzamprogno.info/?p=1216"
},
modified: "2020-11-18T01:31:52",
modified_gmt: "2020-11-17T14:31:52",
slug: "the-nsw-2020-state-redistribution",
status: "publish",
type: "post",
link: "https://councillorzamprogno.info/2020/11/18/the-nsw-2020-state-redistribution/",
title: {
rendered: "The NSW 2020 State Redistribution"
},
content: {
rendered: " <figure class="wp-block-embed is-type-video is-provider-youtube
(etc.)