×

Más Información

Cuadro de autor


Discuta su proyecto

Sobre Nosotros

Somos un socio de Microsoft Gold con presencia en los Estados Unidos y la India. Somos un proveedor de servicios de TI dinámico y profesional que sirve a empresas y nuevas empresas, ayudándolas a enfrentar los desafíos de la economía global. Ofrecemos servicios en el área de Consulta e implementación CRM, Desarrollo de aplicaciones, Desarrollo de aplicaciones móviles, Desarrollo web y Desarrollo Offshore.

Datos básicos con Swift

Primeros pasos con Core Data (CRUD) con Swift

By Subodh Dharmwan / Enero 27, 2022

3 de noviembre.
Primeros pasos con Core Data (CRUD) con Swift

Datos principales es un marco gráfico y de persistencia, que se utiliza en dispositivos Apple con sistemas operativos macOS e iOS. Datos principales se introdujo por primera vez en Mac OS X 10.4 Tiger e iOS con iPhone SDK 3.0. Permite datos organizarse en una forma de modelo de atributo de entidad relacional, de modo que pueda serializarse en almacenes XML, binarios o SQLite.

solicite utilizar datos básicos para guardar su aplicación datos permanentes para uso fuera de línea, para almacenar en caché datos temporales y para agregar la funcionalidad de deshacer a su aplicación en un solo dispositivo.

Core Data refleja automáticamente su esquema en un NubeKit contenedor para sincronizar datos en varios dispositivos en una sola cuenta de iCloud.

Puede especificar los tipos y relaciones de sus datos y desarrollar las respectivas definiciones de clase. Core Data puede administrar instancias de objetos en tiempo de ejecución a través del editor de modelo de datos de Core Data.

Core Data tiene ciertas desventajas, ya que solo puede almacenar datos una vez ingresados, lo cual no es como una base de datos SQL típica. 

En otras palabras, Core Data mantiene un gráfico de objeto en la memoria, por lo tanto, solo puede funcionar con registros en la memoria. Puede entender esto como, suponga que desea eliminar o actualizar 100 registros, por lo que primero debe cargar todos los registros en la memoria.

Anteriormente, Core Data tenía algunos problemas con los subprocesos múltiples, pero a lo largo de los años, las mejoras en el desarrollo de Core Data lo han hecho compatible con los subprocesos múltiples.

Deshacer y rehacer cambios individuales o por lotes

Datos básicos tiene esta característica de deshacer y rehacer. El administrador de deshacer rastrea los cambios que ocurren en los datos y puede revertirlos cuando sea necesario. Esto facilita mucho el trabajo del desarrollador. 

Ver sincronización

CoreData proporciona una vista de tabla y una vista de colección que son útiles cuando desea sincronizar sus vistas y datos.

Versionado y Migración

CoreData lo ayuda con el control de versiones de su modelo de datos y la migración de datos de usuario con la evolución de la aplicación.

Tareas de datos de fondo

CoreData realiza Tareas de datos de bloqueo de IU, como analizar JSON en objetos, pero en segundo plano, que además se pueden almacenar en caché o almacenar para reducir los viajes de ida y vuelta del servidor.

También, lea: Desarrollo de aplicaciones móviles nativas: ventajas, desventajas, alternativas y optimización de costos

CURD en swift (Crear, Actualizar, Recuperar, Eliminar)

Creemos un nuevo proyecto para entender cómo funciona Core Data y seleccionemos “Usar datos básicos”. También puede agregar Core Data a su proyecto después, pero esto es más fácil, ya que todo le será servido.

Crear proyecto con Use Core Data

Una vez que se crea el proyecto, verá un archivo como CoreDataTest.xcdatamodeld ya creado, también puede agregar el archivo a un proyecto existente.

Añadir entidad

Una vez que haga clic en él, verá una herramienta. Esta herramienta le permite configurar entidades, estas entidades representan modelos de datos.

Aquí puede definir algunas de las cosas para todas y cada una de las entidades, pero recuerde que Atributos y Relaciones será lo más importante.

Configurar el nombre y los atributos de la entidad

Pila de datos básicos

Dentro del AppDelegate, la Código de pila de datos básicos tiene una documentación clara en forma de comentarios, configura el contenedor persistente y guarda los datos y, si hay algún cambio, se guardan.

Puede guardar y obtener fácilmente el contexto de Core Data Stack porque AppDelegate es el primer archivo que se ejecuta tan pronto como se inicia la aplicación.

Como ha convertido nuestros datos en la entidad Usuario, ahora puede agregar algunos registros y guardarlos en CoreData.

También, lea: La guía para desarrollar y adoptar una estrategia de aplicaciones móviles para empresas

Guardar registros en datos básicos

El procedimiento de agregar los registros a Core Data incluye las siguientes tareas:

  • Consulte el contenedor persistente
  • Crea el contexto
  • Crea una entidad
  • Crear nuevo registro
  • Para cada clave, debe establecer valores para los registros.

Dado que el contenedor está configurado en el Delegados de aplicaciones. Por lo tanto, debe referirse a ese contenedor.

let appDelegate = UIApplication.shared.delegate as! AppDelegate

Vamos a crear un contexto a partir de este contenedor.

let context = appDelegate.persistentContainer.viewContext

Vamos a crear una entidad y nuevos registros de usuarios.

let entity = NSEntityDescription.entity(forEntityName: "Users", in: context)
let newUser = NSManagedObject(entity: entity!, insertInto: context)

Finalmente, agregue algunos datos a su registro recién creado.

newUser.setValue("Abhishek", forKey: "username")
newUser.setValue("2311", forKey: "password")
newUser.setValue("21", forKey: "age")

Aunque los métodos que se utilizan para salvar el contexto ya existen en el AppDelegate.swift, pero también se puede realizar una definición explícita del código para guardar el contexto en la base de datos. Recuerde envolver esto con el bloque do try and catch, ya que ayudará en el manejo de excepciones. 

do { 
  try context.save()      
 } catch {      
  print("Error saving")
}

Ahora, cada vez que ejecute nuestra aplicación, se agregarán nuevas entidades a los registros en Core Data.

También, lea: Cómo subcontratar el desarrollo de aplicaciones móviles en 2021: 7 cosas a tener en cuenta

Recuperar / Obtención de datos básicos

El procedimiento para obtener los datos guardados es muy sencillo. Tiene la siguiente tarea:

  • Elabore y organice la solicitud de tipo NSFetchRequest para la entidad.
  • Use predicado para filtrar datos (si es necesario).
  • Obtenga el resultado del contexto en forma de una matriz de [NSManagedObject].
  • Ahora necesita iterar a través de una matriz para obtener el valor de la clave específica.
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Users")
        //request.predicate = NSPredicate(format: "age = %@", "21")
request.returnsObjectsAsFaults = false        
do {
            let result = try context.fetch(request)
            for data in result as! [NSManagedObject] 
{
    print(data.value(forKey: "username") as! String)
  }

       } catch {

           print("Failed")
}

Actualizar datos en Core Data

Para actualizar los registros, en primer lugar, debe obtener datos con el uso de predicado como se muestra arriba en el proceso de Recuperación de datos. Luego, a continuación, algunos pasos a seguir:

  • Enmarque la solicitud con un predicado para la entidad. 
  • Obtener el registro, publicar ese Establecer nuevo valor con clave
  • Y Last Save contexto similar a Create Data.

Para todas estas tareas puede usar el mismo código anterior.

Eliminar datos en Core Data

Para eliminar el registro, primero debe encontrar el objeto que desea eliminar. Solicitud de recuperación, luego siga los siguientes pasos para eliminar el registro:

  • Formular la solicitud con un predicado para la entidad. 
  • Obtenga el registro que desea eliminar
  • Y cree la llamada context.delete (objeto) (imagen de referencia adjunta a continuación)
let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
let context = self.appDel.managedObjectContext!
context.del(data)
do {
try context.save()
}
catch {
    // Handle Error
}

Datos principales: NSPredicate en Swift

Los predicados son pruebas simples, que se utilizan para filtrar los datos que necesita en nuestra matriz de datos resultante. La prueba se aplicará a todos los objetos de su entidad de datos básicos. Al igual que los comandos SQL simples, se utilizan predicados.

let query = "Suraj"

let request: NSFetchRequest&lt;Person&gt; = Person.fetchRequest()request.predicate = NSPredicate(format: "name LIKE %@", query)request.predicate = NSPredicate(format: "name == %@", query)

Al igual que "COMO” en el ejemplo anterior, NSPredicate tiene muchas palabras clave como:

CONTIENE, COINCIDE, EMPIEZA CON y TERMINA CON.

También, lea: Conceptos básicos de Flutter: por qué utilizar Flutter para el desarrollo de aplicaciones móviles

Conclusión

Core Data es ideal para aplicaciones que requieren administrar un gráfico de objeto complejo. Core Data solo puede hacer su encanto porque mantiene el gráfico de objetos que funciona en la memoria. Hay muchas cosas complicadas que podemos hacer con los datos centrales, como agregar predicados y relaciones complejas de bases de datos, rastrear cambios de datos y más. A medida que utiliza más datos básicos y se sumerge, las cosas se vuelven más complicadas, pero estos son los fundamentos de los datos básicos.

[sc name = "Desarrollo de aplicaciones móviles"] [add_newsletter] [add_related_page_diff_contents blog_cat = "desarrollo móvil"]

Datos principales es un marco gráfico y de persistencia, que se utiliza en dispositivos Apple con sistemas operativos macOS e iOS. Datos principales se introdujo por primera vez en Mac OS X 10.4 Tiger e iOS con iPhone SDK 3.0. Permite datos organizarse en una forma de modelo de atributo de entidad relacional, de modo que pueda serializarse en almacenes XML, binarios o SQLite.

solicite utilizar datos básicos para guardar su aplicación datos permanentes para uso fuera de línea, para almacenar en caché datos temporales y para agregar la funcionalidad de deshacer a su aplicación en un solo dispositivo.

Core Data refleja automáticamente su esquema en un NubeKit contenedor para sincronizar datos en varios dispositivos en una sola cuenta de iCloud.

Puede especificar los tipos y relaciones de sus datos y desarrollar las respectivas definiciones de clase. Core Data puede administrar instancias de objetos en tiempo de ejecución a través del editor de modelo de datos de Core Data.

Core Data tiene ciertas desventajas, ya que solo puede almacenar datos una vez ingresados, lo cual no es como una base de datos SQL típica. 

En otras palabras, Core Data mantiene un gráfico de objeto en la memoria, por lo tanto, solo puede funcionar con registros en la memoria. Puede entender esto como, suponga que desea eliminar o actualizar 100 registros, por lo que primero debe cargar todos los registros en la memoria.

Anteriormente, Core Data tenía algunos problemas con los subprocesos múltiples, pero a lo largo de los años, las mejoras en el desarrollo de Core Data lo han hecho compatible con los subprocesos múltiples.

Deshacer y rehacer cambios individuales o por lotes

Datos básicos tiene esta característica de deshacer y rehacer. El administrador de deshacer rastrea los cambios que ocurren en los datos y puede revertirlos cuando sea necesario. Esto facilita mucho el trabajo del desarrollador. 

Ver sincronización

CoreData proporciona una vista de tabla y una vista de colección que son útiles cuando desea sincronizar sus vistas y datos.

Versionado y Migración

CoreData lo ayuda con el control de versiones de su modelo de datos y la migración de datos de usuario con la evolución de la aplicación.

Tareas de datos de fondo

CoreData realiza Tareas de datos de bloqueo de IU, como analizar JSON en objetos, pero en segundo plano, que además se pueden almacenar en caché o almacenar para reducir los viajes de ida y vuelta del servidor.

También, lea: Desarrollo de aplicaciones móviles nativas: ventajas, desventajas, alternativas y optimización de costos

CURD en swift (Crear, Actualizar, Recuperar, Eliminar)

Creemos un nuevo proyecto para entender cómo funciona Core Data y seleccionemos “Usar datos básicos”. También puede agregar Core Data a su proyecto después, pero esto es más fácil, ya que todo le será servido.

Crear proyecto con Use Core Data

Una vez que se crea el proyecto, verá un archivo como CoreDataTest.xcdatamodeld ya creado, también puede agregar el archivo a un proyecto existente.

Añadir entidad

Una vez que haga clic en él, verá una herramienta. Esta herramienta le permite configurar entidades, estas entidades representan modelos de datos.

Aquí puede definir algunas de las cosas para todas y cada una de las entidades, pero recuerde que Atributos y Relaciones será lo más importante.

Configurar el nombre y los atributos de la entidad

Pila de datos básicos

Dentro del AppDelegate, la Código de pila de datos básicos tiene una documentación clara en forma de comentarios, configura el contenedor persistente y guarda los datos y, si hay algún cambio, se guardan.

Puede guardar y obtener fácilmente el contexto de Core Data Stack porque AppDelegate es el primer archivo que se ejecuta tan pronto como se inicia la aplicación.

Como ha convertido nuestros datos en la entidad Usuario, ahora puede agregar algunos registros y guardarlos en CoreData.

También, lea: La guía para desarrollar y adoptar una estrategia de aplicaciones móviles para empresas

Guardar registros en datos básicos

El procedimiento de agregar los registros a Core Data incluye las siguientes tareas:

  • Consulte el contenedor persistente
  • Crea el contexto
  • Crea una entidad
  • Crear nuevo registro
  • Para cada clave, debe establecer valores para los registros.

Dado que el contenedor está configurado en el Delegados de aplicaciones. Por lo tanto, debe referirse a ese contenedor.

let appDelegate = UIApplication.shared.delegate as! AppDelegate

Vamos a crear un contexto a partir de este contenedor.

let context = appDelegate.persistentContainer.viewContext

Vamos a crear una entidad y nuevos registros de usuarios.

let entity = NSEntityDescription.entity(forEntityName: "Users", in: context)
let newUser = NSManagedObject(entity: entity!, insertInto: context)

Finalmente, agregue algunos datos a su registro recién creado.

newUser.setValue("Abhishek", forKey: "username")
newUser.setValue("2311", forKey: "password")
newUser.setValue("21", forKey: "age")

Aunque los métodos que se utilizan para salvar el contexto ya existen en el AppDelegate.swift, pero también se puede realizar una definición explícita del código para guardar el contexto en la base de datos. Recuerde envolver esto con el bloque do try and catch, ya que ayudará en el manejo de excepciones. 

do { 
  try context.save()      
 } catch {      
  print("Error saving")
}

Ahora, cada vez que ejecute nuestra aplicación, se agregarán nuevas entidades a los registros en Core Data.

También, lea: Cómo subcontratar el desarrollo de aplicaciones móviles en 2021: 7 cosas a tener en cuenta

Recuperar / Obtención de datos básicos

El procedimiento para obtener los datos guardados es muy sencillo. Tiene la siguiente tarea:

  • Elabore y organice la solicitud de tipo NSFetchRequest para la entidad.
  • Use predicado para filtrar datos (si es necesario).
  • Obtenga el resultado del contexto en forma de una matriz de [NSManagedObject].
  • Ahora necesita iterar a través de una matriz para obtener el valor de la clave específica.
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Users")
        //request.predicate = NSPredicate(format: "age = %@", "21")
request.returnsObjectsAsFaults = false        
do {
            let result = try context.fetch(request)
            for data in result as! [NSManagedObject] 
{
    print(data.value(forKey: "username") as! String)
  }

       } catch {

           print("Failed")
}

Actualizar datos en Core Data

Para actualizar los registros, en primer lugar, debe obtener datos con el uso de predicado como se muestra arriba en el proceso de Recuperación de datos. Luego, a continuación, algunos pasos a seguir:

  • Enmarque la solicitud con un predicado para la entidad. 
  • Obtener el registro, publicar ese Establecer nuevo valor con clave
  • Y Last Save contexto similar a Create Data.

Para todas estas tareas puede usar el mismo código anterior.

Eliminar datos en Core Data

Para eliminar el registro, primero debe encontrar el objeto que desea eliminar. Solicitud de recuperación, luego siga los siguientes pasos para eliminar el registro:

  • Formular la solicitud con un predicado para la entidad. 
  • Obtenga el registro que desea eliminar
  • Y cree la llamada context.delete (objeto) (imagen de referencia adjunta a continuación)
let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
let context = self.appDel.managedObjectContext!
context.del(data)
do {
try context.save()
}
catch {
    // Handle Error
}

Datos principales: NSPredicate en Swift

Los predicados son pruebas simples, que se utilizan para filtrar los datos que necesita en nuestra matriz de datos resultante. La prueba se aplicará a todos los objetos de su entidad de datos básicos. Al igual que los comandos SQL simples, se utilizan predicados.

let query = "Suraj"

let request: NSFetchRequest&lt;Person&gt; = Person.fetchRequest()request.predicate = NSPredicate(format: "name LIKE %@", query)request.predicate = NSPredicate(format: "name == %@", query)

Al igual que "COMO” en el ejemplo anterior, NSPredicate tiene muchas palabras clave como:

CONTIENE, COINCIDE, EMPIEZA CON y TERMINA CON.

También, lea: Conceptos básicos de Flutter: por qué utilizar Flutter para el desarrollo de aplicaciones móviles

Conclusión

Core Data es ideal para aplicaciones que requieren administrar un gráfico de objeto complejo. Core Data solo puede hacer su encanto porque mantiene el gráfico de objetos que funciona en la memoria. Hay muchas cosas complicadas que podemos hacer con los datos centrales, como agregar predicados y relaciones complejas de bases de datos, rastrear cambios de datos y más. A medida que utiliza más Core Data y se sumerge, las cosas se vuelven más complicadas, pero estos son los fundamentos de Core Data.

Servicios de desarrollo de aplicaciones móviles

¿Quiere aprovechar la tecnología móvil para su negocio? Cynoteck es un proveedor integral de servicios de desarrollo de aplicaciones móviles. Brindamos servicios de desarrollo de aplicaciones para iOS y Android para que pueda llegar a su público objetivo en cualquier dispositivo.



invitado
0 Comentarios
Comentarios en línea
Ver todos los comentarios
0
Me encantaría tus pensamientos, por favor comenta.x