Quickstarters
CRUD Samples
¿Cómo crear una aplicación CRUD en iOS con Objective-C?
28 min
descripción general en este tutorial, descubrirás cómo crear una aplicación crud simple (crear, leer, actualizar, eliminar) para ios utilizando objective c utilizaremos back4app como el backend para gestionar tus datos, asegurando una integración fluida de un backend con tu aplicación ios esta guía cubre todo, desde la configuración de un proyecto back4app hasta la implementación de operaciones crud esenciales utilizando el sdk de parse para ios inicialmente, configurarás un proyecto back4app titulado basic crud app ios este proyecto servirá como tu repositorio de datos y te permitirá diseñar un modelo de datos flexible con clases como items y users puedes definir estas clases manualmente en el panel de control de back4app o aprovechar el agente ai integrado para agilizar el proceso después de configurar tu backend, lo integrarás con tu aplicación ios en objective c el tutorial incluye ejemplos de código para inicializar el sdk de parse, realizar operaciones crud e implementar una autenticación de usuario segura al final de este tutorial, habrás construido una aplicación ios lista para producción que realiza funciones crud fundamentales junto con una gestión segura de usuarios conceptos clave aprende a desarrollar una aplicación crud para ios usando objective c con un backend robusto entiende cómo diseñar e integrar un backend escalable usando back4app utiliza la aplicación de administración de back4app para una gestión de datos eficiente implementa un manejo seguro de datos con acls y autenticación de usuarios usando el sdk de parse para 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 xcode instalado con un entorno de desarrollo de ios configurado este tutorial asume familiaridad con objective c y desarrollo para ios comprensión básica de programación orientada a objetos y apis rest repasa la documentación de objective c https //developer apple com/library/archive/documentation/cocoa/conceptual/programmingwithobjectivec/introduction/introduction html si es necesario paso 1 – inicialización del proyecto creando tu proyecto en back4app inicia sesión en tu cuenta de back4app haz clic en el botón “nueva aplicación” en 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 una vez creado, tu proyecto aparece en el panel de control, sirviendo como la columna vertebral para la gestión de datos de tu aplicación paso 2 – creando el modelo de datos configurando tus estructuras de datos para esta aplicación crud de ios, necesitas definir clases clave en tu proyecto de back4app a continuación se presentan las clases principales y sus campos 1\ clase de artículos esta clase almacena detalles sobre cada artículo campo tipo de dato propósito id objectid identificador único generado automáticamente título cadena el nombre del artículo descripción cadena un breve resumen del artículo creadoen fecha marca de tiempo cuando se creó el elemento actualizadoen fecha marca de tiempo para la última actualización 2\ clase de usuarios esta clase gestiona las credenciales de usuario y la autenticación campo tipo de dato propósito id objectid identificador generado automáticamente nombre de usuario cadena nombre de usuario único para el usuario correo electrónico cadena la dirección de correo electrónico única del usuario hashdecontraseña cadena contraseña de usuario almacenada de forma segura creadoen fecha marca de tiempo de creación de la cuenta actualizadoen fecha marca de tiempo de la última modificación puedes configurar estas clases a través del panel de control de back4app crear nueva clase agregas campos seleccionando el tipo de dato, nombrando el campo, asignando valores predeterminados y marcando los campos obligatorios crear columna uso del agente ai de back4app para el diseño de esquemas el agente ai integrado puede construir automáticamente tu esquema de datos basado en tu descripción esta función simplifica el proceso de configuración y asegura que tu modelo de datos cumpla con los requisitos de la aplicación cómo usar el agente ai accede al agente ai abre tu panel de back4app y navega hasta el agente ai dentro de la configuración de tu proyecto detalla tu modelo de datos ingresa un mensaje describiendo las clases y campos requeridos revisa y confirma una vez que la ai genere una propuesta de esquema, revísala y confirma para aplicar los cambios ejemplo de mensaje 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 método ahorra tiempo y asegura consistencia en tu estructura de datos paso 3 – habilitando la aplicación de administrador y gestionando datos descripción general de la aplicación de administrador la aplicación de administración de back4app proporciona una interfaz fácil de usar y sin código para gestionar tus datos de backend sus características de arrastrar y soltar te permiten crear, ver, modificar y eliminar registros fácilmente activando la aplicación de administración ve al menú “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 ” establece tu cuenta de administrador configurando las credenciales iniciales, lo que también configura 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 de manera eficiente panel de control de la aplicación de administración gestionando operaciones crud a través de la aplicación de administración dentro de la aplicación de administración, puedes agregar registros haz clic en “agregar registro” dentro de una clase (por ejemplo, artículos) para insertar nuevos datos editar registros selecciona cualquier registro para ver o actualizar sus campos eliminar registros elimina entradas que ya no son necesarias esta interfaz simplificada facilita significativamente las tareas de gestión de datos paso 4 – conectando tu aplicación ios con back4app con el backend configurado, el siguiente paso es integrar tu aplicación ios con back4app utilizando el sdk de parse para ios opción a utilizando el sdk de parse para ios en objective c incluir el sdk de parse agrega el marco de parse a tu proyecto de xcode puedes usar cocoapods añadiendo lo siguiente a tu podfile pod 'parse' inicializa parse en tu appdelegate abre tu appdelegate m y añade el código de inicialización en el application\ didfinishlaunchingwithoptions método // 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; } implementar métodos crud en objective c crear una clase de servicio, por ejemplo, itemsservice m , para manejar operaciones 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 opción b empleando rest o graphql si prefieres no usar el sdk de parse, puedes interactuar con back4app a través de llamadas a la api restful por ejemplo, para recuperar elementos a través de 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 elige el enfoque que mejor se adapte a las necesidades de tu proyecto paso 5 – asegurando tu backend configurando listas de control de acceso (acls) para proteger tus datos, configura acls para tus objetos por ejemplo, para crear un ítem visible solo para su propietario \#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); } }]; } configurando permisos a nivel de clase (clps) utiliza el panel de control de back4app para ajustar los clps, asegurando que solo los usuarios autenticados puedan acceder a ciertas clases por defecto paso 6 – implementando la autenticación de usuarios gestionando cuentas de usuario back4app aprovecha la clase de usuario nativa de parse para gestionar la autenticación de usuarios en tu aplicación ios, puedes implementar el registro y el inicio de sesión de la siguiente manera \#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 este enfoque también se extiende a la gestión de sesiones, restablecimientos de contraseña y características adicionales de autenticación paso 7 – conclusión y direcciones futuras ¡felicidades! has construido con éxito una aplicación crud para ios utilizando objective c, completamente integrada con back4app a lo largo de esta guía, configuraste un proyecto llamado basic crud app ios , diseñaste clases centrales para items y users, y gestionaste tu backend utilizando la admin app además, conectaste tu aplicación utilizando el sdk de parse para ios, implementaste operaciones crud y aseguraste tus datos con acls próximos pasos expande la aplicación incorpora características adicionales como búsqueda avanzada, vistas detalladas de elementos o actualizaciones en tiempo real mejora las capacidades del backend explora funciones en la nube, integra apis de terceros o refina el control de acceso basado en roles profundiza tu experiencia visita la documentación de back4app https //www back4app com/docs para obtener más información y tutoriales ¡feliz codificación y buena suerte con tu proyecto crud para ios!