2011-07-15 9 views
29

He creado un modelo Core Data versioned en mi aplicación iOS, y tiene varias versiones creadas hasta ahora (varios archivos .xdatamodel dentro del paquete .xcdatamodeld). Antes de enviar la aplicación, estoy considerando eliminar estas versiones antiguas para poder comenzar con un solo modelo de datos limpio, y la pérdida de datos no es un problema en esta etapa.Supresión de la versión core data xcdatamodel files

¿Esto es posible? Y cuál sería la mejor manera de lograr esto sin simplemente eliminar todos los archivos de datos Core y volver a crear un nuevo modelo.

+0

Ver también la pregunta similar aquí, la respuesta aún más simple: http://stackoverflow.com/questions/7708392/how-to-delete-an-old-unused-data-model-version-in- xcode-4 – charles

Respuesta

47

Eliminar los modelos antiguos significa que no puede migrar ningún almacén de datos existente. Supongo que está de acuerdo con eso dada su declaración acerca de la pérdida de datos. Si desea comenzar de nuevo, puede tomar el modelo actual de xcdata, copiarlo en otro lugar (por ejemplo, su Escritorio) y luego eliminar la carpeta xcdatamodeld. En este punto, puede arrastrar su xcdatamodel guardado nuevamente a Xcode y volver a agregarlo como un archivo sin versión.

+1

Funciona muy bien. Un paso adicional: mientras su xcdatamodel se aleja, abra el contenido de su paquete y elimine los modelos antiguos. O bien, simplemente arrastre hacia atrás el modelo que desee del contenido del paquete. – Jeff

+1

Al actualizar mi comentario: "simplemente arrastra hacia atrás el único modelo que desea" podría causar problemas. Me quedé atrapado con el código al no poder encontrar mi modelo porque lo que arrastré fue un modelo xcdata, mientras que xcdatamodeld es un paquete (de uno o más modelos xcdata). – Jeff

+1

Intenté seguir los pasos que describió pero hizo que xcdatamodelId no se pueda editar en Xcode. Estos pasos funcionaron mejor para mí: http://stackoverflow.com/a/8107530/127036 –