Core Data es un marco de trabajo que se utiliza para administrar los objetos de capa de modelo en la aplicación. Proporciona soluciones generalizadas y automatizadas para tareas comunes asociadas con el ciclo de vida de los objetos y la gestión de gráficos de objetos, incluida la persistencia.
Los datos principales normalmente disminuyen entre un 50 y un 70 por ciento la cantidad de código que escribe para admitir la capa de modelo. Esto se debe principalmente a las siguientes características integradas que no tiene que implementar, probar u optimizar:
-
Seguimiento de cambios y gestión integrada de deshacer y rehacer más allá de la edición básica de texto.
-
Mantenimiento de la propagación del cambio, incluido el mantenimiento de la coherencia de las relaciones entre objetos.
-
Carga lenta de objetos, futuros parcialmente materializados (fallas) y uso compartido de datos de copia al escribir para reducir la sobrecarga.
-
Validación automática de valores de propiedad. Los objetos administrados amplían los métodos de validación de codificación de clave-valor estándar para garantizar que los valores individuales se encuentren dentro de los rangos aceptables, de modo que las combinaciones de valores tengan sentido.
-
Herramientas de migración de esquemas que simplifican los cambios de esquema y le permiten realizar una migración de esquemas eficiente en el lugar.
-
Integración opcional con la capa de controlador de la aplicación para admitir la sincronización de la interfaz de usuario.
-
Agrupar, filtrar y organizar datos en memoria y en la interfaz de usuario.
-
Soporte automático para almacenar objetos en repositorios de datos externos.
-
Compilación sofisticada de consultas. En lugar de escribir SQL, puede crear consultas complejas asociando un objeto NSPredicate con una solicitud de recuperación.
-
Seguimiento de versiones y bloqueo optimista para admitir la resolución automática de conflictos de múltiples escritores.
-
Integración efectiva con las cadenas de herramientas de macOS e iOS.