Betrachten Sie die App Speichern Sie keine Bilder in Modellen. Stattdessen werden URLs gespeichert, die zum Abrufen von Bildern aus dem Image-Cache verwendet werden.Ordnungsgemäße Methode zum Erstellen von Modellen auf dem Server
Betrachten Sie dieses Modell:
class Post {
let id: String
let title: String
let imageUrl: URL
}
die der Benutzer sagen Lassen Sie einen neuen Beitrag erstellt (tritt title
und wählt ein image
) und die App sendet sie an den Server über.
Frage: Was ist ein richtiger Weg, eine Methode zu schreiben, die einen neuen Beitrag auf dem Server erstellt?
Ich dachte, wie etwas zu schreiben:
func createModel(_ model: Post, completion:() -> Void)
aber das Problem ist die App nicht imageUrl
noch nicht kennt.
Ein weiterer Gedanke war es, ein Verfahren zu haben, der alle Eigenschaften des Modells akzeptieren:
func createPost(_ title: String, image: UIImage, completion:() -> Void)
aber diese Lösung ist nicht wieder verwendbar: es unmöglich ist, für die Erstellung eines Modells eine generische Methode zu haben. Nicht gut.
Auch dieser Ansatz erlaubt uns nicht, das Modell zu verwenden, während es noch nicht im Backend gespeichert ist, wodurch er gezwungen ist, den Aktivitätsindikator anzuzeigen.
Irgendwelche Vorschläge, wie man damit umgeht?