Quickstarters
CRUD Samples
Wie man eine CRUD-App für iOS mit Swift entwickelt?
27 min
übersicht diese anleitung wird ihnen helfen, eine einfache crud (create, read, update, delete) anwendung für ios zu erstellen mit back4app als ihrem cloud backend lernen sie, wie sie ihr projekt konfigurieren, ein flexibles datenmodell entwerfen und crud funktionalität mit swift implementieren dieses tutorial zeigt, wie sie ihre ios app mit back4app integrieren, entweder über das parse ios sdk oder die rest api, um eine reibungslose datenverwaltung und sichere authentifizierung zu gewährleisten zunächst richten sie ein back4app projekt ein—namens basic crud app ios —das eine skalierbare, nicht relationale datenbank für ihre app bereitstellt sie definieren ihre datenstrukturen, indem sie klassen und felder entweder manuell oder mit hilfe des ki agenten von back4app erstellen als nächstes erkunden sie, wie sie ihr backend mit der intuitiven back4app admin app verwalten, einem drag and drop tool, das die datenmanipulation vereinfacht schließlich verbinden sie ihre ios anwendung mit dem backend, entweder über das parse ios sdk (wenn anwendbar) oder rest/graphql api aufrufe, und integrieren eine sichere benutzerauthentifizierung am ende dieses leitfadens haben sie eine produktionsbereite ios anwendung erstellt, die grundlegende crud operationen durchführt, einschließlich sicherer benutzeranmeldung und datenverwaltung haupt erkenntnisse lernen sie, eine ios crud anwendung mit einem effizienten backend zu erstellen verstehen sie, wie man ein skalierbares backend architektonisch gestaltet und nahtlos mit einer ios app verbindet entdecken sie, wie sie die back4app admin app für die vereinfachte erstellung, abfrage, modifikation und löschung von daten nutzen erforschen sie optionen für containerisierte bereitstellung und weitere verbesserungen für ihr ios projekt voraussetzungen bevor sie beginnen, stellen sie sicher, dass sie ein back4app konto mit einem aktiven projekt brauchen sie hilfe? siehe erste schritte mit back4app https //www back4app com/docs/get started/new parse app eine ios entwicklungsumgebung verwenden sie xcode (version 12 oder höher) und stellen sie sicher, dass ihre entwicklungsumgebung auf dem neuesten stand ist ein solides verständnis von swift, objektorientierter programmierung und rest api grundlagen siehe die swift dokumentation https //developer apple com/swift/ für weitere details schritt 1 – einrichten ihres projekts erstellen eines neuen back4app projekts melden sie sich bei ihrem back4app konto an klicken sie auf die schaltfläche „neue app“ in ihrem dashboard benennen sie ihr projekt basic crud app ios und folgen sie den anweisungen auf dem bildschirm, um die einrichtung abzuschließen neues projekt erstellen nachdem das projekt erstellt wurde, wird es in ihrem dashboard angezeigt und bildet die grundlage für ihre backend konfiguration schritt 2 – erstellen ihres datenmodells definition ihrer datenstrukturen für diese ios crud anwendung werden sie mehrere klassen (sammlungen) in ihrem back4app projekt einrichten im folgenden sind die hauptklassen und ihre felder aufgeführt, die erforderlich sind, um ihre crud operationen zu unterstützen 1\ artikelklasse diese klasse speichert informationen über jeden artikel feld datentyp beschreibung id objekt id automatisch generierte eindeutige kennung titel zeichenfolge der name oder titel des elements beschreibung zeichenfolge eine kurze zusammenfassung oder details über den artikel erstelltam datum zeitstempel, der markiert, wann das element erstellt wurde aktualisiertam datum zeitstempel, der das letzte update des elements markiert 2\ benutzerklasse diese klasse verwaltet benutzeranmeldeinformationen und authentifizierungsdaten feld datentyp beschreibung id objekt id automatisch generierte eindeutige kennung benutzername zeichenfolge eindeutiger identifikator für den benutzer e mail zeichenfolge eindeutige e mail adresse des benutzers passworthash zeichenfolge verschlüsseltes passwort für sichere authentifizierung erstelltam datum zeitstempel, wann das konto erstellt wurde aktualisiertam datum zeitstempel der letzten kontaktualisierung sie können diese klassen und felder direkt im back4app dashboard definieren neue klasse erstellen sie können spalten hinzufügen, indem sie einen datentyp auswählen, das feld benennen, einen standardwert festlegen und es bei bedarf als erforderlich markieren spalte erstellen nutzung des back4app ai agenten zur schema konfiguration der integrierte ai agent in ihrem dashboard kann automatisch ihr datenschema aus einer beschreibung generieren dies hilft, die einrichtung zu optimieren und sicherzustellen, dass ihr datenmodell alle notwendigen crud operationen unterstützt so verwenden sie den ai agenten öffnen sie den ai agenten zugriff über die projekteinstellungen im back4app dashboard beschreiben sie ihr datenmodell geben sie einen umfassenden prompt an, der die klassen und deren jeweilige felder beschreibt überprüfen und implementieren überprüfen sie das vorgeschlagene schema und bestätigen sie die anwendung der konfiguration beispiel prompt create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) dieser ki gestützte ansatz spart zeit und sorgt für eine konsistente, optimierte datenstruktur für ihre ios app schritt 3 – starten der admin app & verwalten von crud operationen übersicht über die admin app die back4app admin app bietet eine no code oberfläche, um ihre backend daten effizient zu verwalten die benutzerfreundlichen drag and drop funktionen vereinfachen den prozess des erstellens, lesens, aktualisierens und löschens von datensätzen aktivierung der admin app gehen sie zum abschnitt „mehr“ in ihrem back4app dashboard wählen sie „admin app“ und klicken sie auf „admin app aktivieren “ richten sie ihre admin anmeldeinformationen ein indem sie das anfängliche admin konto erstellen, das auch systemrollen (wie b4aadminuser ) festlegt admin app aktivieren nach der aktivierung melden sie sich in der admin app an, um ihre daten zu verwalten admin app dashboard datenverwaltung mit der admin app innerhalb der admin app können sie datensätze einfügen verwenden sie die funktion „datensatz hinzufügen“ innerhalb jeder klasse (z b artikel), um neue einträge einzuführen datensätze überprüfen/bearbeiten wählen sie einen datensatz aus, um seine details anzuzeigen oder seine felder zu ändern datensätze entfernen löschen sie einträge, die nicht mehr benötigt werden diese intuitive oberfläche vereinfacht das backend management und steigert die produktivität schritt 4 – verbinden ihrer ios app mit back4app nachdem ihr backend bereit ist, besteht der nächste schritt darin, ihre ios anwendung mit back4app zu verknüpfen option a nutzung des parse ios sdk installieren sie das parse ios sdk sie können das sdk mit dem swift package manager oder cocoapods integrieren für cocoapods fügen sie folgendes zu ihrem podfile pod 'parse' initialisieren sie parse in ihrer app konfigurieren sie parse in ihrem appdelegate, indem sie den folgenden code einfügen // appdelegate swift import uikit import parse @uiapplicationmain class appdelegate uiresponder, uiapplicationdelegate { func application( application uiapplication, didfinishlaunchingwithoptions launchoptions \[uiapplication launchoptionskey any]?) > bool { let configuration = parseclientconfiguration { $0 applicationid = "your application id" $0 clientkey = "your ios key" // replace with your ios key $0 server = "https //parseapi back4app com" } parse initialize(with configuration) return true } // } crud operationen implementieren erstellen sie eine dienstklasse in swift, um ihre datenoperationen zu verwalten zum beispiel einen dienst, um elemente abzurufen und anzuzeigen // itemsservice swift import foundation import parse class itemsservice { func fetchitems(completion @escaping (\[pfobject]?) > void) { let query = pfquery(classname "items") query findobjectsinbackground { (objects, error) in if let error = error { print("error retrieving items \\(error localizeddescription)") completion(nil) } else { completion(objects) } } } func additem(title string, description string) { let item = pfobject(classname "items") item\["title"] = title item\["description"] = description item saveinbackground { (success, error) in if success { print("item successfully created ") } else if let error = error { print("creation error \\(error localizeddescription)") } } } func modifyitem(objectid string, newtitle string, newdescription string) { let query = pfquery(classname "items") query getobjectinbackground(withid objectid) { (item, error) in if let item = item { item\["title"] = newtitle item\["description"] = newdescription item saveinbackground { (success, error) in if success { print("item updated ") } else if let error = error { print("update error \\(error localizeddescription)") } } } else if let error = error { print("error finding item \\(error localizeddescription)") } } } func removeitem(objectid string) { let query = pfquery(classname "items") query getobjectinbackground(withid objectid) { (item, error) in if let item = item { item deleteinbackground { (success, error) in if success { print("item deleted ") } else if let error = error { print("deletion error \\(error localizeddescription)") } } } else if let error = error { print("error locating item \\(error localizeddescription)") } } } } option b verwendung von rest oder graphql wenn das parse ios sdk nicht ihren anforderungen entspricht, können sie crud operationen über rest aufrufe ausführen zum beispiel, um elemente mit rest in swift abzurufen import foundation class restclient { func retrieveitems() { guard let url = url(string "https //parseapi back4app com/classes/items") else { return } var request = urlrequest(url url) request httpmethod = "get" request addvalue("your application id", forhttpheaderfield "x parse application id") request addvalue("your rest api key", forhttpheaderfield "x parse rest api key") urlsession shared datatask(with request) { data, response, error in if let error = error { print("error fetching items \\(error localizeddescription)") return } guard let data = data else { return } if let json = try? jsonserialization jsonobject(with data, options \[]) { print("fetched items \\(json)") } } resume() } } integrieren sie diese api methoden nach bedarf in ihre swift klassen schritt 5 – sicherung ihres backends konfigurieren von zugriffskontrolllisten (acls) schützen sie ihre daten, indem sie acls einrichten zum beispiel, um ein element zu erstellen, auf das nur der eigentümer zugreifen kann import parse func createprivateitem(title string, description string, owner pfuser) { let item = pfobject(classname "items") item\["title"] = title item\["description"] = description let acl = pfacl() acl setreadaccess(true, for owner) acl setwriteaccess(true, for owner) acl publicreadaccess = false acl publicwriteaccess = false item acl = acl item saveinbackground { (success, error) in if success { print("private item successfully created ") } else if let error = error { print("error saving item \\(error localizeddescription)") } } } klassenebene berechtigungen (clps) passen sie im back4app dashboard die clps für ihre klassen an, um standardmäßige sicherheitsmaßnahmen durchzusetzen dies stellt sicher, dass nur authentifizierte benutzer oder bestimmte rollen zugriff auf bestimmte daten haben schritt 6 – implementierung der benutzerauthentifizierung einrichten von benutzerkonten back4app verwendet die integrierte parse benutzerklasse zur verwaltung der authentifizierung in ihrer ios anwendung verwalten sie die benutzerregistrierung und den login wie unten dargestellt import parse class authservice { func registeruser(username string, password string, email string) { let user = pfuser() user username = username user password = password user email = email user signupinbackground { (succeeded, error) in if succeeded { print("user registered successfully!") } else if let error = error { print("registration failed \\(error localizeddescription)") } } } func loginuser(username string, password string) { pfuser loginwithusername(inbackground username, password password) { (user, error) in if let user = user { print("logged in as \\(user username ?? "unknown")") } else if let error = error { print("login error \\(error localizeddescription)") } } } } ein ähnlicher ansatz kann für die verwaltung von sitzungen, passwortzurücksetzungen und anderen authentifizierungsfunktionen implementiert werden schritt 7 – fazit und zukünftige verbesserungen herzlichen glückwunsch! sie haben erfolgreich eine ios basierte crud anwendung erstellt, die mit back4app integriert ist sie haben ein projekt mit dem namen basic crud app ios , entworfen die klassen items und users und verwaltet ihre daten mit der back4app admin app zusätzlich haben sie ihre ios app über das parse sdk (oder über rest/graphql) verbunden und wesentliche sicherheitsmaßnahmen implementiert zukünftige schritte erweitern sie die anwendung erwägen sie, funktionen wie erweiterte filterung, detaillierte artikelansichten oder echtzeit updates hinzuzufügen verbessern sie die backend funktionen experimentieren sie mit cloud funktionen, integrationen von drittanbieter apis oder granularer rollenbasierter zugriffskontrolle vertiefen sie ihr fachwissen besuchen sie die back4app dokumentation https //www back4app com/docs und erkunden sie zusätzliche tutorials, um ihre anwendung weiter zu optimieren viel spaß beim programmieren und alles gute auf ihrem weg, robuste ios anwendungen zu erstellen!