Esta es una pregunta más filosófica sobre las decisiones de diseño de Apple que una pregunta sobre los Datos centrales.¿Por qué Core Data es tan difícil de prepoblar?
¿Por qué en el mundo es útil tener un sistema modelo que es tan difícil de prepoblar? ¿Cuáles son las ventajas? Sé que puede hacer que su programa genere el archivo sqlite y lo edite manualmente, pero hasta donde sé, no puede hacer eso si tiene alguna relación.
Lo comparo con el paradigma MVC utilizado en los rieles, que parece tener más sentido. Los modelos en rieles proporcionan un nivel similar de abstracción a los datos básicos (por lo que puedo decir), pero también te permiten ingresar lo que quieras en tu base de datos manualmente (o mediante un guión).
El problema que tengo con Core Data es que: como los rieles parecen probar (para mí) que puede tener una excelente abstracción de modelo de la base de datos conservando varios métodos convenientes para rellenarla, ¿qué ventajas tiene eliminar esa habilidad? ¿oferta? ¿Es Core Data de alguna manera más eficiente? ¿La dificultad de la prepoblación es simplemente un efecto secundario de otras opciones de diseño y, de ser así, por qué no se tuvo en cuenta la prepoblación?
(Una advertencia de que estoy realmente interesado en el razonamiento detrás de estas opciones, y aunque mi puesto podría sugerir que, no estoy realmente en busca de un "Modelos de rieles vs. datos básicos" debate.)
Parece una base de datos ("una colección organizada de datos para uno o más usos, generalmente en forma digital") para mí. En cualquier caso, ninguna de sus preguntas parecía estar basada en lo que usted llama Datos Básicos. Lo llamó un "sistema modelo" al principio. – Ken
Incluso en el "sistema de circuito cerrado" que es Core Data, la prepoblación es una tarea común. ¿Por qué crear este sistema sin una herramienta para hacerlo? O si Apple no quiere hacerlo por sí mismo, ¿por qué específicamente tener una cláusula en su acuerdo de licencia que prohíbe la ingeniería inversa de su esquema de datos centrales para que alguna persona emprendedora pueda escribir esa herramienta ellos mismos? –
@Evan Cordell - Apple no creó una herramienta para la prepoblación en parte porque es muy fácil hacerlo usted mismo. Vea mis respuestas aquí: http://stackoverflow.com/questions/2248363/portability-of-core-datas-sqlite-file-between-os-x-and-iphone-os/2248463#2248463 y aquí: http://stackoverflow.com/questions/1264382/how-do-i-initialize-a-store-with-default-data-in-a-coredata-application/1266588#1266588. Incluso muestro cómo hacerlo en ~ 15 minutos en el video de mi curso de iPhone en iTunes U: http://deimos.apple.com/WebObjects/Core.woa/Browse/matcmadison.edu.3989485784.03989485786 –