Estoy haciendo una aplicación que crea horarios de cursos para las personas en mi escuela. Este es el diseño aproximado que tenía en mente para la aplicación:¿Son NSDocument y CoreData una combinación posible, o NSPersistentDocument es la única forma?
Me gustaría que mi subclase NSDocument representara el horario de una persona. La idea es que abran un documento, y puedan agregar cursos de un grupo a su horario, luego guardar, compartir, abrir, etc. Por lo tanto, el horario se almacenará en un archivo externo, elegido por el usuario.
Me gustaría utilizar CoreData para almacenar todos los cursos que los estudiantes pueden elegir. Estos no se modificarán con la creación y edición de los horarios, sino que, en su lugar, es probable solo al iniciarse la aplicación, cuando se comprueben las actualizaciones de la información del curso.
Esta parece ser la forma lógica de estructurar mi aplicación. El problema es que cuando creo una aplicación basada en NSDocument y marque la casilla use CoreData
, en lugar de convertirla en una aplicación basada en NSDocument con las instalaciones de CoreData, la convierte en una aplicación basada en NSPersistentDocument.
No creo que este sea el comportamiento que quiero. ¿Hay alguna manera de usar CoreData, pero aún así tener una aplicación basada en NSDocument? ¿O es NSPersistentDocument lo que debería estar usando después de todo? ¿Estoy malinterpretando todo el negocio de NS * Document? ¿Tienes algún consejo para la estructura de mi aplicación?
¡Gracias por cualquier ayuda!
Dice que quiere utilizar Core Data para almacenar todos los cursos que los alumnos pueden elegir. ¿Usará también Core Data para almacenar el horario de un alumno individual en su clase de NSDocument? Creo que es la segunda pregunta la que determina si usar NSPersistentDocument o no. – paulmelnikow
@noa: No, planeo guardar el horario del estudiante en un archivo externo, elegido por el usuario. –
Usando algo así como un plist o un archivador con clave, supongo que te refieres? Puede dejar que el usuario elija un archivo por separado y aún así utilizar los datos principales. Eso es lo que NSPersistentDocument te ayuda a hacer. – paulmelnikow