Quickstarters
CRUD Samples
Wie man eine CRUD-App für iOS mit Objective-C erstellt?
27 min
übersicht in diesem leitfaden werden sie entdecken, wie sie eine einfache crud (erstellen, lesen, aktualisieren, löschen) anwendung für ios mit objective c erstellen wir werden back4app als backend nutzen, um ihre daten zu verwalten und eine reibungslose integration eines backends mit ihrer ios app zu gewährleisten dieser leitfaden behandelt alles von der einrichtung eines back4app projekts bis zur implementierung grundlegender crud operationen mit dem parse ios sdk zunächst richten sie ein back4app projekt mit dem titel basic crud app ios dieses projekt dient als ihr datenrepository und ermöglicht es ihnen, ein flexibles datenmodell mit klassen wie items und users zu entwerfen sie können diese klassen manuell im back4app dashboard definieren oder den integrierten ki agenten nutzen, um den prozess zu optimieren nachdem sie ihr backend konfiguriert haben, integrieren sie es in ihre objective c ios anwendung das tutorial enthält codebeispiele zur initialisierung des parse sdk, zur durchführung von crud operationen und zur implementierung einer sicheren benutzerauthentifizierung am ende dieses tutorials haben sie eine produktionsbereite ios anwendung erstellt, die grundlegende crud funktionen sowie eine sichere benutzerverwaltung bietet schlüsselkonzepte lernen sie, wie sie eine ios crud app mit objective c und einem robusten backend entwickeln verstehen sie, wie sie ein skalierbares backend mit back4app entwerfen und integrieren nutzen sie die admin app von back4app für eine effiziente datenverwaltung implementieren sie eine sichere datenverarbeitung mit acls und benutzerauthentifizierung unter verwendung des parse ios sdk voraussetzungen bevor sie beginnen, stellen sie sicher, dass sie ein back4app konto mit einem aktiven projekt brauchen sie hilfe? verweisen sie auf erste schritte mit back4app https //www back4app com/docs/get started/new parse app xcode installiert mit einer konfigurierten ios entwicklungsumgebung dieses tutorial setzt kenntnisse in objective c und ios entwicklung voraus grundlegendes verständnis der objektorientierten programmierung und rest apis frischen sie ihr wissen über die objective c dokumentation https //developer apple com/library/archive/documentation/cocoa/conceptual/programmingwithobjectivec/introduction/introduction html auf, falls erforderlich schritt 1 – projektinitialisierung erstellen ihres back4app projekts melden sie sich bei ihrem back4app konto an klicken sie auf die schaltfläche „neue app“ auf 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 sobald ihr projekt erstellt ist, erscheint es auf dem dashboard und dient als rückgrat für das datenmanagement ihrer app schritt 2 – gestaltung des datenmodells einrichten ihrer datenstrukturen für diese ios crud app müssen sie die wichtigsten klassen in ihrem back4app projekt definieren im folgenden sind die hauptklassen und ihre felder aufgeführt 1\ artikelklasse diese klasse speichert details zu jedem artikel feld datentyp zweck id objekt id automatisch generierte eindeutige kennung titel zeichenfolge der name des artikels beschreibung zeichenfolge eine kurze zusammenfassung des artikels erstelltam datum zeitstempel, wann der artikel erstellt wurde aktualisiertam datum zeitstempel für das letzte update 2\ benutzerklasse diese klasse verwaltet benutzeranmeldeinformationen und authentifizierung feld datentyp zweck id objekt id automatisch generierte kennung benutzername zeichenfolge einzigartiger benutzername für den benutzer e mail zeichenfolge die eindeutige e mail adresse des benutzers passworthash zeichenfolge sicher gespeichertes benutzerpasswort erstelltam datum zeitstempel der kontoerstellung aktualisiertam datum letzte änderungszeitstempel sie können diese klassen über das back4app dashboard einrichten neue klasse erstellen sie fügen felder hinzu, indem sie den datentyp auswählen, das feld benennen, standardwerte zuweisen und pflichtfelder markieren spalte erstellen verwendung des back4app ai agenten für das schema design der integrierte ai agent kann automatisch ihr datenschema basierend auf ihrer beschreibung erstellen diese funktion vereinfacht den einrichtungsprozess und stellt sicher, dass ihr datenmodell den anforderungen der app entspricht so verwenden sie den ai agenten zugriff auf den ai agenten öffnen sie ihr back4app dashboard und navigieren sie zu dem ai agenten in ihren projekteinstellungen detailieren sie ihr datenmodell geben sie eine eingabeaufforderung ein, die die erforderlichen klassen und felder beschreibt überprüfen und bestätigen sobald die ki einen schema vorschlag generiert, überprüfen sie ihn und bestätigen sie, um die änderungen anzuwenden beispielaufforderung 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) diese methode spart zeit und sorgt für konsistenz in ihrer datenstruktur schritt 3 – aktivierung der admin app & datenverwaltung übersicht über die admin app die admin app von back4app bietet eine benutzerfreundliche, codefreie schnittstelle zur verwaltung ihrer backend daten ihre drag and drop funktionen ermöglichen es ihnen, datensätze einfach zu erstellen, anzuzeigen, zu ändern und zu löschen aktivierung der admin app gehen sie zum menü „mehr“ in ihrem back4app dashboard wählen sie „admin app“ und klicken sie auf „admin app aktivieren “ richten sie ihr admin konto ein indem sie die anfänglichen anmeldeinformationen festlegen, die auch systemrollen wie b4aadminuser konfigurieren admin app aktivieren nach der aktivierung melden sie sich bei der admin app an, um ihre daten effizient zu verwalten admin app dashboard verwaltung von crud operationen über die admin app innerhalb der admin app können sie datensätze hinzufügen klicken sie auf „datensatz hinzufügen“ innerhalb einer klasse (z b artikel), um neue daten einzufügen datensätze bearbeiten wählen sie einen beliebigen datensatz aus, um seine felder anzuzeigen oder zu aktualisieren datensätze löschen entfernen sie einträge, die nicht mehr benötigt werden diese optimierte schnittstelle vereinfacht die aufgaben der datenverwaltung erheblich schritt 4 – verbindung ihrer ios anwendung mit back4app nachdem das backend eingerichtet ist, besteht der nächste schritt darin, ihre ios app mit back4app unter verwendung des parse ios sdk zu integrieren option a nutzung des parse ios sdk in objective c fügen sie das parse sdk hinzu fügen sie das parse framework zu ihrem xcode projekt hinzu sie können cocoapods verwenden, indem sie folgendes zu ihrem podfile pod 'parse' initialisieren sie parse in ihrem appdelegate öffnen sie ihre appdelegate m und fügen sie den initialisierungscode in die application\ didfinishlaunchingwithoptions methode ein // appdelegate m \#import \<parse/parse h> \ (bool)application (uiapplication )application didfinishlaunchingwithoptions (nsdictionary )launchoptions { \[parse initializewithconfiguration \[parseclientconfiguration configurationwithblock ^(id\<parsemutableclientconfiguration> configuration) { configuration applicationid = @"your application id"; configuration clientkey = @"your ios key"; configuration server = @"https //parseapi back4app com"; }]]; return yes; } crud methoden in objective c implementieren erstellen sie eine dienstklasse, z b itemsservice m , um crud operationen zu verwalten // itemsservice m \#import "itemsservice h" \#import \<parse/parse h> @implementation itemsservice \ (void)createitemwithtitle (nsstring )title description (nsstring )description { pfobject item = \[pfobject objectwithclassname @"items"]; item\[@"title"] = title; item\[@"description"] = description; \[item saveinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"item created successfully "); } else { nslog(@"error creating item %@", error localizeddescription); } }]; } \ (void)fetchitemswithcompletion (void (^)(nsarray items, nserror error))completion { pfquery query = \[pfquery querywithclassname @"items"]; \[query findobjectsinbackgroundwithblock ^(nsarray objects, nserror error) { completion(objects, error); }]; } \ (void)updateitemwithobjectid (nsstring )objectid newtitle (nsstring )newtitle newdescription (nsstring )newdescription { pfquery query = \[pfquery querywithclassname @"items"]; \[query getobjectinbackgroundwithid\ objectid block ^(pfobject item, nserror error) { if (item) { item\[@"title"] = newtitle; item\[@"description"] = newdescription; \[item saveinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"item updated successfully "); } else { nslog(@"error updating item %@", error localizeddescription); } }]; } else { nslog(@"error fetching item %@", error localizeddescription); } }]; } \ (void)deleteitemwithobjectid (nsstring )objectid { pfquery query = \[pfquery querywithclassname @"items"]; \[query getobjectinbackgroundwithid\ objectid block ^(pfobject item, nserror error) { if (item) { \[item deleteinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"item deleted successfully "); } else { nslog(@"error deleting item %@", error localizeddescription); } }]; } else { nslog(@"error fetching item %@", error localizeddescription); } }]; } @end option b verwendung von rest oder graphql wenn sie das parse sdk nicht verwenden möchten, können sie über restful api aufrufe mit back4app interagieren zum beispiel, um elemente über rest abzurufen \#import \<foundation/foundation h> @interface restclient nsobject \+ (void)fetchitems; @end @implementation restclient \+ (void)fetchitems { nsurl url = \[nsurl urlwithstring @"https //parseapi back4app com/classes/items"]; nsmutableurlrequest request = \[nsmutableurlrequest requestwithurl\ url]; \[request sethttpmethod @"get"]; \[request setvalue @"your application id" forhttpheaderfield @"x parse application id"]; \[request setvalue @"your rest api key" forhttpheaderfield @"x parse rest api key"]; nsurlsessiondatatask datatask = \[\[nsurlsession sharedsession] datataskwithrequest\ request completionhandler ^(nsdata data, nsurlresponse response, nserror error) { if (error) { nslog(@"error fetching items %@", error localizeddescription); } else { nsstring result = \[\[nsstring alloc] initwithdata\ data encoding\ nsutf8stringencoding]; nslog(@"response %@", result); } }]; \[datatask resume]; } @end wählen sie den ansatz, der am besten zu den bedürfnissen ihres projekts passt schritt 5 – sicherung ihres backends konfigurieren von zugriffskontrolllisten (acls) um ihre daten zu schützen, konfigurieren sie acls für ihre objekte zum beispiel, um ein element zu erstellen, das nur für seinen besitzer sichtbar ist \#import \<parse/parse h> \ (void)createprivateitemwithtitle (nsstring )title description (nsstring )description owner (pfuser )owner { pfobject item = \[pfobject objectwithclassname @"items"]; item\[@"title"] = title; item\[@"description"] = description; pfacl acl = \[pfacl aclwithuser\ owner]; \[acl setpublicreadaccess\ no]; \[acl setpublicwriteaccess\ no]; item acl = acl; \[item saveinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"private item created "); } else { nslog(@"error saving item %@", error localizeddescription); } }]; } festlegen von klassenberechtigungen (clps) verwenden sie das back4app dashboard, um clps anzupassen, damit nur authentifizierte benutzer standardmäßig auf bestimmte klassen zugreifen können schritt 6 – implementierung der benutzerauthentifizierung verwalten von benutzerkonten back4app nutzt die native benutzerklasse von parse zur verwaltung der benutzerauthentifizierung in ihrer ios anwendung können sie die registrierung und anmeldung wie folgt implementieren \#import \<parse/parse h> @interface authservice nsobject \+ (void)signupwithusername (nsstring )username password (nsstring )password email (nsstring )email; \+ (void)loginwithusername (nsstring )username password (nsstring )password; @end @implementation authservice \+ (void)signupwithusername (nsstring )username password (nsstring )password email (nsstring )email { pfuser user = \[pfuser user]; user username = username; user password = password; user email = email; \[user signupinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"user successfully registered!"); } else { nslog(@"sign up error %@", error localizeddescription); } }]; } \+ (void)loginwithusername (nsstring )username password (nsstring )password { \[pfuser loginwithusernameinbackground\ username password\ password block ^(pfuser user, nserror error) { if (user) { nslog(@"user logged in %@", user username); } else { nslog(@"login failed %@", error localizeddescription); } }]; } @end dieser ansatz erstreckt sich auch auf das sitzungsmanagement, passwortzurücksetzungen und zusätzliche authentifizierungsfunktionen schritt 7 – fazit und zukünftige richtungen herzlichen glückwunsch! sie haben erfolgreich eine ios crud anwendung mit objective c erstellt, die vollständig mit back4app integriert ist im laufe dieses leitfadens haben sie ein projekt mit dem namen basic crud app ios , entworfen, grundlegende klassen für elemente und benutzer erstellt und ihr backend mit der admin app verwaltet darüber hinaus haben sie ihre app mit dem parse ios sdk verbunden, crud operationen implementiert und ihre daten mit acls gesichert nächste schritte erweitern sie die anwendung integrieren sie zusätzliche funktionen wie erweiterte suche, detaillierte elementansichten oder echtzeit updates verbessern sie die backend funktionen erforschen sie cloud funktionen, integrieren sie drittanbieter apis oder verfeinern sie die rollenbasierte zugriffskontrolle vertiefen sie ihr fachwissen besuchen sie die back4app dokumentation https //www back4app com/docs für weitere einblicke und tutorials viel spaß beim programmieren und viel erfolg mit ihrem ios crud projekt!