Quickstarters
CRUD Samples
¿Cómo crear una aplicación CRUD en iOS con Swift?
28 min
descripción general esta guía te guiará en la construcción de una aplicación crud simple (crear, leer, actualizar, eliminar) para ios usando back4app como tu backend en la nube, aprenderás a configurar tu proyecto, diseñar un modelo de datos flexible e implementar la funcionalidad crud con swift este tutorial demuestra cómo integrar tu aplicación ios con back4app, aprovechando ya sea el sdk de parse para ios o las api rest, asegurando una gestión de datos fluida y una autenticación segura inicialmente, configurarás un proyecto de back4app—llamado basic crud app ios —que proporciona una base de datos escalable y no relacional para tu aplicación definirás tus estructuras de datos creando clases y campos ya sea manualmente o utilizando el agente ai de back4app a continuación, explorarás cómo gestionar tu backend utilizando la intuitiva aplicación administrativa de back4app, una herramienta de arrastrar y soltar diseñada para simplificar la manipulación de datos finalmente, conectarás tu aplicación ios con el backend, utilizando ya sea el sdk de parse para ios (cuando sea aplicable) o llamadas a la api rest/graphql, e incorporarás una autenticación de usuario segura al final de esta guía, habrás construido una aplicación ios lista para producción que realiza operaciones crud básicas, incluyendo inicio de sesión seguro y manejo de datos principales ideas aprende a crear una aplicación crud para ios con un backend eficiente entiende cómo arquitectar un backend escalable y conectarlo sin problemas con una aplicación ios descubre cómo usar la aplicación administrativa de back4app para la creación, recuperación, modificación y eliminación de datos simplificada explora opciones para el despliegue en contenedores y mejoras adicionales para tu proyecto ios requisitos previos antes de comenzar, asegúrate de tener una cuenta de back4app con un proyecto activo ¿necesitas ayuda? consulta introducción a back4app https //www back4app com/docs/get started/new parse app una configuración de desarrollo de ios usa xcode (versión 12 o posterior) y asegúrate de que tu entorno de desarrollo esté actualizado un sólido conocimiento de swift, programación orientada a objetos y fundamentos de rest api consulta la documentación de swift https //developer apple com/swift/ para más detalles paso 1 – configurando tu proyecto creando un nuevo proyecto en back4app inicia sesión en tu cuenta de back4app haz clic en el botón “nueva app” desde tu panel de control nombra tu proyecto basic crud app ios y sigue las instrucciones en pantalla para completar la configuración crear nuevo proyecto después de que se cree el proyecto, aparecerá en tu panel de control, sentando las bases para la configuración de tu backend paso 2 – creando tu modelo de datos definiendo tus estructuras de datos para esta aplicación crud de ios, establecerás varias clases (colecciones) en tu proyecto de back4app a continuación se presentan las clases principales y sus campos requeridos para soportar tus operaciones crud 1\ clase de artículos esta clase almacenará información sobre cada artículo campo tipo de dato descripción id objectid identificador único generado automáticamente título cadena el nombre o título del artículo descripción cadena un breve resumen o detalles sobre el artículo creadoen fecha marca de tiempo que indica cuándo se creó el elemento actualizadoen fecha marca de tiempo que indica la última actualización del elemento 2\ clase de usuarios esta clase gestiona las credenciales de usuario y los datos de autenticación campo tipo de dato descripción id objectid identificador único generado automáticamente nombre de usuario cadena identificador único para el usuario correo electrónico cadena dirección de correo electrónico única del usuario hashdecontraseña cadena contraseña encriptada para una autenticación segura creadoen fecha marca de tiempo de cuando se creó la cuenta actualizadoen fecha marca de tiempo de la última actualización de la cuenta puedes definir estas clases y campos directamente en el panel de control de back4app crear nueva clase puedes agregar columnas seleccionando un tipo de dato, nombrando el campo, estableciendo un valor predeterminado y marcándolo como obligatorio si es necesario crear columna utilizando el agente de ia de back4app para la configuración del esquema el agente de ia integrado en tu panel puede generar automáticamente tu esquema de datos a partir de una descripción esto ayuda a agilizar la configuración y asegura que tu modelo de datos soporte todas las operaciones crud necesarias cómo usar el agente de ia abre el agente de ia accede a él a través de la configuración de tu proyecto en el panel de back4app describe tu modelo de datos proporciona un aviso completo detallando las clases y sus respectivos campos revisa e implementa examina el esquema propuesto y confirma para aplicar la configuración ejemplo de aviso 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) este enfoque impulsado por ia ahorra tiempo y asegura una estructura de datos consistente y optimizada para tu aplicación ios paso 3 – lanzando la aplicación de administración y gestionando operaciones crud descripción de la aplicación de administración la aplicación de administración de back4app proporciona una interfaz sin código para gestionar eficientemente tus datos de backend sus características de arrastrar y soltar fáciles de usar simplifican el proceso de crear, leer, actualizar y eliminar registros habilitando la aplicación de administración ve a la sección “más” en tu panel de control de back4app selecciona “aplicación de administración” y haz clic en “habilitar aplicación de administración ” configura tus credenciales de administrador creando la cuenta de administrador inicial, que también establecerá roles del sistema (como b4aadminuser ) habilitar aplicación de administración después de la activación, inicia sesión en la aplicación de administración para gestionar tus datos panel de administración de la aplicación gestionando datos con la aplicación de administración dentro de la aplicación de administración puedes insertar registros usa la función “agregar registro” dentro de cualquier clase (por ejemplo, artículos) para introducir nuevas entradas revisar/editar registros selecciona un registro para ver sus detalles o modificar sus campos eliminar registros borra entradas que ya no son necesarias esta interfaz intuitiva simplifica la gestión del backend y mejora la productividad paso 4 – conectando tu aplicación ios con back4app con tu backend listo, el siguiente paso es vincular tu aplicación ios a back4app opción a utilizando el sdk de parse para ios instalar el sdk de parse para ios puedes integrar el sdk usando swift package manager o cocoapods para cocoapods, añade lo siguiente a tu podfile pod 'parse' inicializa parse en tu aplicación en tu appdelegate, configura parse insertando el siguiente código // 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 } // } implementar operaciones crud crea una clase de servicio en swift para manejar tus operaciones de datos por ejemplo, un servicio para obtener y mostrar elementos // 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)") } } } } opción b usando rest o graphql si el sdk de parse para ios no se adapta a tus necesidades, puedes ejecutar operaciones crud a través de llamadas rest por ejemplo, para obtener elementos usando rest en 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 estos métodos de api en tus clases de swift según sea necesario paso 5 – asegurando tu backend configurando listas de control de acceso (acls) protege tus datos configurando acls por ejemplo, para crear un ítem al que solo su propietario pueda acceder 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)") } } } permisos a nivel de clase (clps) dentro del panel de control de back4app, ajusta los clps para tus clases para hacer cumplir las medidas de seguridad predeterminadas esto asegura que solo los usuarios autenticados o roles designados tengan acceso a datos específicos paso 6 – implementando la autenticación de usuarios configurando cuentas de usuario back4app utiliza la clase de usuario de parse incorporada para gestionar la autenticación en tu aplicación ios, maneja el registro y el inicio de sesión de usuarios como se ilustra a continuación 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)") } } } } se puede implementar un enfoque similar para gestionar sesiones, restablecimientos de contraseña y otras características de autenticación paso 7 – conclusión y mejoras futuras ¡felicidades! has construido con éxito una aplicación crud basada en ios que se integra con back4app configuraste un proyecto llamado basic crud app ios , diseñaste las clases items y users, y gestionaste tus datos utilizando la aplicación de administración de back4app además, conectaste tu aplicación ios a través del sdk de parse (o mediante rest/graphql) e implementaste medidas de seguridad esenciales pasos futuros expande la aplicación considera agregar características como filtrado avanzado, vistas detalladas de elementos o actualizaciones en tiempo real mejora las capacidades del backend experimenta con funciones en la nube, integraciones de api de terceros o un control de acceso basado en roles más granular profundiza tu experiencia visita la documentación de back4app https //www back4app com/docs y explora tutoriales adicionales para optimizar aún más tu aplicación ¡feliz codificación y los mejores deseos en tu camino para construir aplicaciones robustas de ios!