Looking for core-data Answers? Try Ask4KnowledgeBase
Looking for core-data Keywords? Try Ask4Keywords

core-dataEmpezando con los datos básicos


Observaciones

Core Data es un marco en varios SDK de SO de Apple, que incluye, entre otros, iOS y OS X. Tiene dos funciones principales: una capa de modelo y una capa de persistencia. La capa de modelo se utiliza en la gestión de objetos de modelo y datos persistentes. Simplemente puede almacenar y administrar datos en una interfaz orientada a objetos. Las características principales incluyen el filtrado, la consulta, la clasificación, la persistencia de datos y la creación de relaciones entre los datos. Otros temas de interés para los proyectos Core Data son NSPredicate, threading, y entre otros.

Una aplicación de ejemplo de Core Data podría ser una aplicación de catálogo para su biblioteca local. En la aplicación Catálogo, un bibliotecario podría agregar o eliminar libros. También podrían filtrar libros por género, ordenar libros por fecha de publicación o buscar un trabajo específico de autores. Un "Libro" de la entidad tendría varios atributos, como título, autor, fecha de publicación, isbn, número de llamada, etc. Los Datos básicos, incluido el ejemplo anterior, también pueden almacenar datos recopilados de un servidor.

Los componentes principales del marco incluyen:

  • Modelos de datos (entidades, atributos y relaciones)
  • Core Data Stack (NSPersistentStoreCoordinator, NSManagedObjectModel, NSManagedObjectContext)
  • NSFetchRequest
  • NSFetchedResultsController

Fuentes:

Documentación Marco

Guia de programacion

Notas de lanzamiento de datos básicos 2016

CoreData y Concurrencia

Es importante recordar que CoreData NO es seguro para subprocesos, lo que significa que si es necesario usar, por ejemplo, un subproceso de fondo para trabajar en ManagedObjects, hay cosas nuevas que se deben considerar, como PrivateQueue- / MainQueue -ManagedObjectContexts.

Desde el documental de Apple: Core Data espera ser ejecutado en un solo hilo. Nunca debes compartir contextos de objetos gestionados entre hilos. Esta es una regla difícil que no debes romper.

Creando el proyecto

La primera acción a realizar es crear un nuevo proyecto Archivo> Nuevo> Proyecto. Aquí se selecciona la aplicación Vista única, pero puede elegir la que mejor se adapte a su proyecto.

Configuración inicial

El siguiente paso en la configuración de los datos básicos es agregar la información a su proyecto. La parte importante en la foto a continuación es seleccionar "Usar datos básicos"

Agregando información del proyecto

Creando tu primer modelo

  • Seleccione el archivo .xcdatamodeld . Notarás que no tienes entidades. Tendrás que crear uno tú mismo. En la parte inferior de Xcode notará que un botón que dice "Agregar entidad" hace clic en él y tendrá una nueva entidad con la que podrá trabajar en el proyecto.

Modelo de datos

  • En este paso hay algunos puntos a mencionar. Primero es que cambió el nombre de su entidad aquí, a la entidad se le da el nombre de Person . Debajo de la sección de atributos usted agrega los atributos a su modelo. Este botón es un signo más ubicado en la parte inferior de la sección. Puede agregar cualquier atributo que sea relevante para su aplicación. Por ejemplo, si está creando una aplicación de libro de contactos, no necesita hacer que el modelo de una Persona contenga un atributo de Arms con el tipo Boolean . Debe mantenerlo relacionado con su aplicación. Por ejemplo, agregando un atributo de telephone con el tipo Integer o si te gusta String. Tiene varias opciones de tipos para elegir, desde Booleans a Dates y más.

Creando tu modelo

  • Una vez que esté satisfecho con su modelo, puede crear la subclase NSManagedObject.

Crear NSManagedObjectSubclass

Selección de modelo de datos

Seleccionando la entidad a gestionar

  • Aquí podemos ver dos cosas importantes. Primero, esa Persona (igual que el nombre de su entidad) es una subclase de NSManagedObject. Esto es importante para su pila de datos básicos. Segundo, ha creado dos archivos, una clase Person.swift y una extensión de Person llamada Person+CoreDataProperites.swift .

  • Todas las adiciones deben hacerse en Person.swift , ya que si alguna vez cambia su modelo y vuelve a ejecutar el generador de clases, se sobrescribirá todo en Person+CoreDataProperties.swift .

Cambio de persona

Persona + CoreDataProperites.swift