Pregunta

Tengo una aplicación que tiene una ventana principal con una lista de artículos, y desde esa ventana se puede abrir un número indeterminado de ventanas. Cada una de esas ventanas puede contener varias instancias de un objeto de modelo, con esos casos enumeran en un cajón.

empecé mi proyecto al hacer la lista (ventana principal) de los elementos se extienden NSDocument y cada otra ventana se extienden NSWindowController. Pero funcionalmente la ventana principal se utiliza una vez cada luna azul, a pesar de ser la ventana que debe pop-up cuando los usuarios inician la aplicación, y las ventanas que se extienden NSWindowController son las que se usan ampliamente por el usuario y también los que acaban de retención mi "documento".

Debido a que ahora estoy teniendo problemas para implementar métodos tales como Nuevo, Abrir y Guardar - Me encuentro escribiendo un montón de código de la manuales digamos debe ser implementado por la superclase.

Debido a que estoy en un cruce de caminos Me pregunto cómo debo aplicar mi solicitud. Debería re-factor de la ventana principal en una clase que se extiende NSWindowController y lanzar desde el xib que mantiene menú principal, o debería mantener las cosas como están y simplemente anular NewDocument, OpenDocument, etc con el fin de obtener la funcionalidad deseada?


Sólo para ayuda con la imagen mental, mis trabajos de aplicaciones como MSN - Tengo una lista principal con varios artículos sobre el mismo (la lista de contactos en MSN), cuando haga doble clic en un elemento que abra una ventana (se abre una charla a un usuario). Mi aplicación da un paso más, manteniendo varias instancias de un objeto de modelo para cada ventana de "chat" y cada instancia será accesible por una tabla en un cajón.

¿Fue útil?

Solución

podría subclase NSDocument con el fin de manejar un tipo de documento. Puede ser un tipo general, como cualquier imagen o un tipo específico, tales como PDF, pero hay que crear una subclase NSDocument para manejar el tipo, ya que en sí NSDocument no sabe cómo.

No estoy seguro de por qué la gente subclase NSWindowController. Parece que funciona lo suficientemente bien como es.

  

Tengo una aplicación que tiene una ventana principal con una lista de artículos, y desde esa ventana se puede abrir un número indeterminado de ventanas. Cada una de esas ventanas puede contener varias instancias de un objeto de modelo, con esos casos enumeran en un cajón.

     

empecé mi proyecto, haciendo que el (ventana principal) lista de elementos se extienden NSDocument y cada otra ventana se extienden NSWindowController.

Eso está mal. En todo caso, las ventanas secundarias son las ventanas de documentos. La ventana principal no lo es.

Hacer un nuevo controlador para la ventana principal. Cuando el usuario abre un elemento en esa ventana, indicarle al controlador de documento para abrir el archivo correspondiente. Es probable que no necesita subclase NSWindowController para esto.

Si los artículos no corresponden a los archivos, a continuación, su aplicación se basa no-documento, y no se debe pretender que es: No utilice NSDocument o NSDocumentController en absoluto en este caso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top