Quickstarters
CRUD Samples
Come sviluppare un'app CRUD per iOS utilizzando Swift?
28 min
panoramica questa guida ti guiderà nella creazione di una semplice applicazione crud (crea, leggi, aggiorna, elimina) per ios utilizzando back4app come backend cloud, imparerai a configurare il tuo progetto, progettare un modello di dati flessibile e implementare la funzionalità crud con swift questo tutorial dimostra come integrare la tua app ios con back4app, sfruttando sia il parse ios sdk che le chiamate api rest, garantendo una gestione dei dati fluida e un'autenticazione sicura inizialmente, configurerai un progetto back4app—chiamato basic crud app ios —che fornisce un database non relazionale scalabile per la tua app definirai le tue strutture dati creando classi e campi manualmente o utilizzando l'ai agent di back4app successivamente, esplorerai come gestire il tuo backend utilizzando l'intuitiva back4app admin app, uno strumento drag and drop progettato per semplificare la manipolazione dei dati infine, collegherai la tua applicazione ios con il backend, utilizzando sia il parse ios sdk (quando applicabile) che le chiamate api rest/graphql, e incorporerai un'autenticazione utente sicura alla fine di questa guida, avrai costruito un'applicazione ios pronta per la produzione che esegue operazioni crud fondamentali, inclusi accessi utente sicuri e gestione dei dati principali intuizioni impara a creare un'applicazione crud ios con un backend efficiente comprendi come architettare un backend scalabile e collegarlo senza problemi a un'app ios scopri come utilizzare l'app admin di back4app per una creazione, recupero, modifica e eliminazione dei dati semplificati esplora opzioni per il deployment containerizzato e ulteriori miglioramenti per il tuo progetto ios requisiti prima di iniziare, assicurati di avere un account back4app con un progetto attivo hai bisogno di aiuto? vedi introduzione a back4app https //www back4app com/docs/get started/new parse app un ambiente di sviluppo ios usa xcode (versione 12 o successiva) e assicurati che il tuo ambiente di sviluppo sia aggiornato una solida comprensione di swift, programmazione orientata agli oggetti e fondamenti delle api rest fai riferimento alla documentazione di swift https //developer apple com/swift/ per ulteriori dettagli passo 1 – configurare il tuo progetto creare un nuovo progetto back4app accedi al tuo account back4app clicca sul pulsante “nuova app” dalla tua dashboard nomina il tuo progetto basic crud app ios e segui le istruzioni sullo schermo per completare la configurazione crea nuovo progetto dopo che il progetto è stato creato, apparirà nella tua dashboard, ponendo le basi per la configurazione del tuo backend passo 2 – creare il tuo modello di dati definire le tue strutture dati per questa applicazione crud ios, stabilirai diverse classi (collezioni) nel tuo progetto back4app di seguito sono riportate le classi principali e i loro campi necessari per supportare le tue operazioni crud 1\ classe articoli questa classe memorizzerà informazioni su ciascun elemento campo tipo di dato descrizione id objectid identificatore univoco generato automaticamente titolo stringa il nome o titolo dell'elemento descrizione stringa un breve riassunto o dettagli sull'oggetto creatoil data timestamp che segna quando l'elemento è stato creato aggiornatoil data timestamp che segna l'ultimo aggiornamento dell'elemento 2\ classe utenti questa classe gestisce le credenziali degli utenti e i dati di autenticazione campo tipo di dato descrizione id objectid identificatore univoco generato automaticamente nome utente stringa identificatore univoco per l'utente email stringa indirizzo email unico dell'utente hashpassword stringa password crittografata per un'autenticazione sicura creatoil data timestamp di quando è stato creato l'account aggiornatoa data timestamp dell'ultimo aggiornamento dell'account puoi definire queste classi e campi direttamente nel dashboard di back4app crea nuova classe puoi aggiungere colonne selezionando un tipo di dato, nominando il campo, impostando un valore predefinito e contrassegnandolo come obbligatorio se necessario crea colonna utilizzare l'agente ai di back4app per la configurazione dello schema l'agente ai integrato nel tuo dashboard può generare automaticamente il tuo schema dati da una descrizione questo aiuta a semplificare la configurazione e garantisce che il tuo modello di dati supporti tutte le operazioni crud necessarie come utilizzare l'agente ai apri l'agente ai accedilo tramite le impostazioni del tuo progetto nel dashboard di back4app descrivi il tuo modello di dati fornisci un prompt completo che dettagli le classi e i loro rispettivi campi esamina e implementa esamina lo schema proposto e conferma di applicare la configurazione 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 approccio basato sull'ai fa risparmiare tempo e garantisce una struttura dati coerente e ottimizzata per la tua app ios passo 3 – lancio dell'app admin e gestione delle operazioni crud panoramica dell'app admin l'app admin di back4app fornisce un'interfaccia senza codice per gestire in modo efficiente i tuoi dati di backend le sue funzionalità intuitive di trascinamento semplificano il processo di creazione, lettura, aggiornamento e cancellazione dei record abilitare l'app admin vai alla sezione “altro” nel tuo dashboard di back4app seleziona “app admin” e clicca “abilita app admin ” imposta le tue credenziali di amministratore creando l'account admin iniziale, che stabilirà anche i ruoli di sistema (come b4aadminuser ) abilita app admin dopo l'attivazione, accedi all'app admin per gestire i tuoi dati dashboard app admin gestire i dati con l'app admin all'interno dell'app admin puoi inserire record usa la funzione “aggiungi record” all'interno di qualsiasi classe (ad es , articoli) per introdurre nuove voci rivedere/modificare record seleziona un record per visualizzarne i dettagli o modificare i suoi campi rimuovere record elimina voci che non sono più necessarie questa interfaccia intuitiva semplifica la gestione del backend e migliora la produttività passo 4 – collegare la tua app ios a back4app con il tuo backend pronto, il passo successivo è collegare la tua applicazione ios a back4app opzione a utilizzare il parse ios sdk installa il parse ios sdk puoi integrare il sdk utilizzando swift package manager o cocoapods per cocoapods, aggiungi quanto segue al tuo podfile pod 'parse' inizializza parse nella tua app nel tuo appdelegate, configura parse inserendo il seguente codice // 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 } // } implementare operazioni crud crea una classe di servizio in swift per gestire le operazioni sui dati ad esempio, un servizio per recuperare e visualizzare gli elementi // 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)") } } } } opzione b utilizzare rest o graphql se il parse ios sdk non soddisfa le tue esigenze, puoi eseguire operazioni crud tramite chiamate rest ad esempio, per recuperare elementi utilizzando rest in swift 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() } } integra questi metodi api nelle tue classi swift secondo necessità passo 5 – sicurezza del tuo backend configurazione delle liste di controllo degli accessi (acl) proteggi i tuoi dati impostando le acl ad esempio, per creare un elemento a cui solo il suo proprietario può accedere 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)") } } } permessi a livello di classe (clp) all'interno del dashboard di back4app, regola i clp per le tue classi per applicare misure di sicurezza predefinite questo assicura che solo gli utenti autenticati o i ruoli designati abbiano accesso a dati specifici passo 6 – implementazione dell'autenticazione utente impostazione degli account utente back4app utilizza la classe utente parse integrata per gestire l'autenticazione nella tua applicazione ios, gestisci la registrazione e il login degli utenti come illustrato di seguito 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)") } } } } un approccio simile può essere implementato per gestire sessioni, reset delle password e altre funzionalità di autenticazione passo 7 – conclusione e miglioramenti futuri congratulazioni! hai costruito con successo un'applicazione crud basata su ios che si integra con back4app hai configurato un progetto chiamato basic crud app ios , progettato le classi items e users, e gestito i tuoi dati utilizzando l'app di amministrazione di back4app inoltre, hai collegato la tua app ios tramite il parse sdk (o tramite rest/graphql) e implementato misure di sicurezza essenziali passi futuri espandi l'applicazione considera di aggiungere funzionalità come filtri avanzati, visualizzazioni dettagliate degli articoli o aggiornamenti in tempo reale migliora le capacità del backend sperimenta con funzioni cloud, integrazioni api di terze parti o controlli di accesso basati su ruoli più granulari approfondisci la tua esperienza visita la documentazione di back4app https //www back4app com/docs e esplora tutorial aggiuntivi per ottimizzare ulteriormente la tua applicazione buon coding e migliori auguri nel tuo viaggio per costruire robuste applicazioni ios!