Quickstarters
CRUD Samples
Come costruire un'app CRUD per iOS con Objective-C?
27 min
panoramica in questa guida, scoprirai come creare una semplice applicazione crud (crea, leggi, aggiorna, elimina) per ios utilizzando objective c utilizzeremo back4app come backend per gestire i tuoi dati, garantendo un'integrazione fluida di un backend con la tua app ios questa guida copre tutto, dalla configurazione di un progetto back4app all'implementazione delle operazioni crud essenziali utilizzando il parse ios sdk inizialmente, configurerai un progetto back4app intitolato basic crud app ios questo progetto servirà come tuo repository di dati e ti permetterà di progettare un modello di dati flessibile con classi come items e users puoi definire queste classi manualmente nel dashboard di back4app o sfruttare l'ai agent integrato per semplificare il processo dopo aver configurato il tuo backend, lo integrerai con la tua applicazione ios in objective c il tutorial include esempi di codice per inizializzare il parse sdk, eseguire operazioni crud e implementare un'autenticazione utente sicura alla fine di questo tutorial, avrai costruito un'applicazione ios pronta per la produzione che esegue funzioni crud fondamentali insieme a una gestione sicura degli utenti concetti chiave impara a sviluppare un'app crud ios utilizzando objective c con un backend robusto comprendi come progettare e integrare un backend scalabile utilizzando back4app utilizza l'app admin di back4app per una gestione efficiente dei dati implementa una gestione sicura dei dati con acl e autenticazione degli utenti utilizzando il parse ios sdk requisiti preliminari prima di iniziare, assicurati di avere un account back4app con un progetto attivo hai bisogno di aiuto? fai riferimento a iniziare con back4app https //www back4app com/docs/get started/new parse app xcode installato con un ambiente di sviluppo ios configurato questo tutorial presuppone familiarità con objective c e lo sviluppo ios comprensione di base della programmazione orientata agli oggetti e delle api rest ripassa la documentazione di objective c https //developer apple com/library/archive/documentation/cocoa/conceptual/programmingwithobjectivec/introduction/introduction html se necessario passo 1 – inizializzazione del progetto creazione del tuo progetto back4app accedi al tuo account back4app clicca sul pulsante “nuova app” nella tua dashboard nomina il tuo progetto basic crud app ios e segui le istruzioni sullo schermo per completare la configurazione crea nuovo progetto una volta creato, il tuo progetto appare sulla dashboard, fungendo da base per la gestione dei dati della tua app passo 2 – creazione del modello dati impostazione delle tue strutture dati per questa app crud ios, devi definire classi chiave nel tuo progetto back4app di seguito sono elencate le classi principali e i loro campi 1\ classe degli articoli questa classe memorizza i dettagli su ciascun articolo campo tipo di dato scopo id objectid identificatore unico generato automaticamente titolo stringa il nome dell'oggetto descrizione stringa un breve riassunto dell'elemento creatoil data timestamp quando l'elemento è stato creato aggiornatoa data timestamp per l'ultimo aggiornamento 2\ classe utenti questa classe gestisce le credenziali e l'autenticazione degli utenti campo tipo di dato scopo id objectid identificatore generato automaticamente nome utente stringa nome utente unico per l'utente email stringa indirizzo email unico dell'utente hashpassword stringa password utente memorizzata in modo sicuro creatoil data timestamp di creazione dell'account aggiornatoa data ultima modifica timestamp puoi impostare queste classi tramite il pannello di controllo di back4app crea nuova classe aggiungi campi selezionando il tipo di dato, nominando il campo, assegnando valori predefiniti e contrassegnando i campi obbligatori crea colonna utilizzare l'agente ai di back4app per la progettazione dello schema l'agente ai integrato può costruire automaticamente il tuo schema dati in base alla tua descrizione questa funzionalità semplifica il processo di configurazione e garantisce che il tuo modello di dati soddisfi i requisiti dell'app come utilizzare l'agente ai accedi all'agente ai apri il tuo dashboard di back4app e naviga verso l'agente ai all'interno delle impostazioni del tuo progetto dettaglia il tuo modello di dati inserisci un prompt che descriva le classi e i campi richiesti rivedi e conferma una volta che l'ai genera una proposta di schema, rivedila e conferma per applicare le modifiche esempio di 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) questo metodo fa risparmiare tempo e garantisce coerenza nella tua struttura dati passo 3 – abilitare l'app admin e gestire i dati panoramica dell'app admin l'app admin di back4app offre un'interfaccia intuitiva e senza codice per gestire i tuoi dati di backend le sue funzionalità di trascinamento e rilascio ti consentono di creare, visualizzare, modificare ed eliminare facilmente i record attivare l'app admin vai al menu “altro” nel tuo dashboard di back4app seleziona “app admin” e clicca “abilita app admin ” stabilisci il tuo account admin impostando le credenziali iniziali, che configurano anche i ruoli di sistema come b4aadminuser abilita app admin dopo l'attivazione, accedi all'app admin per gestire i tuoi dati in modo efficiente dashboard app admin gestire le operazioni crud tramite l'app admin all'interno dell'app admin, puoi aggiungere record clicca su “aggiungi record” all'interno di una classe (ad es , articoli) per inserire nuovi dati modificare record seleziona qualsiasi record per visualizzare o aggiornare i suoi campi eliminare record rimuovi le voci che non sono più necessarie questa interfaccia semplificata semplifica notevolmente le attività di gestione dei dati passo 4 – collegare la tua applicazione ios a back4app con il backend configurato, il passo successivo è integrare la tua app ios con back4app utilizzando il parse ios sdk opzione a utilizzare il parse ios sdk in objective c includi il parse sdk aggiungi il framework parse al tuo progetto xcode puoi usare cocoapods aggiungendo quanto segue al tuo podfile pod 'parse' inizializza parse nel tuo appdelegate apri il tuo appdelegate m e aggiungi il codice di inizializzazione nel application\ didfinishlaunchingwithoptions metodo // 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; } implementare i metodi crud in objective c creare una classe di servizio, ad esempio, itemsservice m , per gestire le operazioni crud // 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 opzione b utilizzare rest o graphql se preferisci non utilizzare il parse sdk, puoi interagire con back4app tramite chiamate api restful ad esempio, per recuperare elementi tramite rest \#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 scegli l'approccio che meglio si adatta alle esigenze del tuo progetto passo 5 – sicurezza del tuo backend configurazione delle liste di controllo degli accessi (acl) per proteggere i tuoi dati, configura le acl per i tuoi oggetti ad esempio, per creare un elemento visibile solo al suo proprietario \#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); } }]; } impostazione dei permessi a livello di classe (clp) utilizza il dashboard di back4app per regolare i clp, assicurandoti che solo gli utenti autenticati possano accedere a determinate classi per impostazione predefinita passo 6 – implementazione dell'autenticazione utente gestione degli account utente back4app sfrutta la classe utente nativa di parse per gestire l'autenticazione degli utenti nella tua applicazione ios, puoi implementare la registrazione e il login come segue \#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 questo approccio si estende anche alla gestione delle sessioni, al ripristino delle password e ad ulteriori funzionalità di autenticazione passo 7 – conclusione e direzioni future congratulazioni! hai costruito con successo un'applicazione ios crud utilizzando objective c, completamente integrata con back4app durante questa guida, hai impostato un progetto chiamato basic crud app ios , progettato classi core per articoli e utenti, e gestito il tuo backend utilizzando l'admin app inoltre, hai connesso la tua app utilizzando il parse ios sdk, implementato operazioni crud e protetto i tuoi dati con acl prossimi passi espandi l'applicazione incorpora funzionalità aggiuntive come ricerca avanzata, visualizzazioni dettagliate degli articoli o aggiornamenti in tempo reale migliora le capacità del backend esplora funzioni cloud, integra api di terze parti o affina il controllo degli accessi basato sui ruoli approfondisci la tua esperienza visita la documentazione di back4app https //www back4app com/docs per ulteriori approfondimenti e tutorial buon coding e buona fortuna con il tuo progetto ios crud!