tl; dr No, depende de su uso. Solo se recomienda si sabes lo que estás haciendo Y no tienes una aplicación de Android para soportar.
Depende de tu uso. ¿Puede salirse con una aplicación sin estado si tiene soporte API? Tenemos una aplicación totalmente funcional que requiere conectividad en línea. Por lo tanto, no necesitamos Core Data, ya que estamos almacenando objetos en caché localmente hasta que el usuario / sistema elimine la aplicación. En mi opinión, a menos que realmente lo necesite, lo evitaría, ya que aumenta la complejidad en sus pruebas de código +.
Si necesita una base de datos, tiene varias opciones. Core Data, Sqlite3 o Realm. ¿También tienes una aplicación de Android? Luego suelte Core Data y use sqlite3 o Realm, ya que ambos se pueden usar en Android. ¿Por qué reinventar la rueda y tener 2 DB completamente separadas?
- MacBook Pro (producto): Como desarrollador de IOS, ¿debería comprar MD101hn / a o MF839hn / a?
- ¿Es mejor usar guiones gráficos o hacer todo mediante programación con Swift 3 y Xcode 8?
- ¿Dónde puedo encontrar talentosos desarrolladores de aplicaciones de utilidades para iPhone en Francia / París?
- ¿Cuánto costó desarrollar las aplicaciones móviles para MyFitnessPal?
- Cómo hacer que mi clase tableviewcell detecte un número entero de otra clase tableviewcell
Por ejemplo, en una empresa anterior, no teníamos una API que pudiéramos utilizar para encontrar todas las actualizaciones que sucedieron para poder aplicar los cambios localmente. En cambio, necesitaríamos descargar una nueva base de datos del servidor. Para hacer esto con Core Data, necesitaríamos descargar la nueva base de datos completa, soltar Core Data e insertar cada registro manualmente. Más de 50,000 resultados. Lo arrancamos y colocamos el contenedor sqlite3 alrededor de una base de datos sqlite. Entonces podríamos descargar la nueva base de datos y simplemente hacer un movimiento del sistema para reemplazar la base de datos anterior. Lo que solía tomar 5 minutos tomó 0,1 segundos.
Core Data es una gran palabra de moda en el mundo de iOS, pero honestamente no tiene mucho sentido para la mayoría de los casos. Tiene una gran cantidad de andamios que debe hacer y lo abre a muchos accidentes / casos con contextos multiproceso. Algunas personas intentan sortear esto con paradigmas padre-hijo y padre-hijo-hijo. A menos que sea * MUY * bueno con los datos básicos, tendrá muchos bloqueos debido al acceso multiproceso.