2011-09-29 8 views
6

Estoy sumergiendo mis pies en Cocoa por primera vez.Currículum de Lion al cerrar documentos sin salir de la aplicación

Aquí hay una pregunta simple. OS X Lion admite la reanudación del estado de la ventana cuando se finaliza y relanza una aplicación. De acuerdo, bien y bien.

Sin embargo, para aplicaciones basadas en documentos, puede la misma característica reanudación también gestionar el ahorro de estado de la ventana cuando un documento es cerrado y abierto de nuevo más tarde pero sin dejar de fumar de la aplicación? (En otras palabras, ¿puede administrar el estado de cada archivo persistentemente independientemente de si la aplicación se cierra o no? ¿O tengo que administrarlo guardando la información en los archivos de los documentos?)

Por ejemplo, iWork ' 09 aplicaciones do haga este tipo de cosas: si cierra un documento guardado y lo vuelve a abrir, restaurará el tamaño de la ventana, la ubicación y la posición del desplazamiento. I no lo sé si lo hace usando el Currículum de Lion per se.

Pero, en contraste, OS X Lion's TextEdit restaura ventanas cuando se cierra y se reinicia, pero no recuerda estados de ventana cuando cierra un documento y lo vuelve a abrir. Esto me hace sospechar que usar el currículum sin dejar de fumar podría no ser posible automáticamente (dado que tal vez las páginas mantienen estados de ventana en su formato de archivo propietario, pero TextEdit no, ya que usa archivos de texto sin formato, RTF, HTML, etc.).


no tengo acceso a los vídeos de la WWDC 2011, sin embargo, y ni los OS X notas de la versión, el sistema operativo X Guía de programación de aplicaciones, ni los documentos de la API NSWindowRestoration hablar de esto específicamente.

Entonces, la pregunta nuevamente: recordando automáticamente el estado de una ventana del documento después de cerrarla y volver a abrirla sin salir de la aplicación (como iWork lo hace) ... ¿Apoya Lion's Restore esto?

¡Muchas gracias!

+0

Lion le brinda las herramientas para guardar el estado automáticamente (marque la aplicación: willEncodeRestorableState: y encodeRestorableStateWithCoder :) de NSDocument, pero depende de usted elegir cómo y qué estados desea preservar. –

Respuesta

2

Pero para las aplicaciones basadas en documentos, ¿la misma característica de reanudación también puede guardar el estado de la ventana cuando un documento se cierra y se vuelve a abrir más tarde pero sin abandonar la aplicación? (En otras palabras, ¿puede administrar el estado de cada archivo de forma persistente, independientemente de si la aplicación se cierra o no?

No sin ayuda, no.

O tengo para gestionar yo mismo por el ahorro de la información en los archivos de los documentos?)

O en otro lugar, sí.

Mi sugerencia no probada es intentar usar el protocolo de restauración de ventanas usted mismo. Al cerrar, envíe usted mismo encodeRestorableStateWithCoder:, luego guarde esos datos en su documento (o donde desee). Al abrir un documento, si tiene información de estado restaurable, páselo al restoreStateWithCoder:.

Cuestiones relacionadas