Tengo un objeto que se ajusta al protocolo NSFilePresenter que representa mi paquete de documentos de la aplicación basada en documentos. Cuando se crea un nuevo archivo dentro del paquete, ya sea usando programáticamente NSFileManager con los métodos apropiados de NSFileCoordination o mediante Finder, solo obtuve el evento -presentedSubitemDidChangeAtURL:
, pero no parece tan obvio en este caso -presentedSubitemDidAppearAtURL:
.NSFilePresenter -presentedSubitemDidAppearAtURL: el método nunca se llama
¿Es esto un comportamiento esperado o estoy haciendo algo mal?
Los comentarios sobre -presentedSubitemDidAppearAtURL:
en el estado de NSFilePresenter claro:
sea notificado de que un archivo o directorio que contiene el directorio se ha añadido. Si este método no está implementado pero
-presentedItemDidChange
es, y el directorio es realmente un paquete de archivos, entonces la maquinaria de coordinación de archivos invocará-presentedItemDidChange
en su lugar.
Supongo que no implementó '-presentedItemDidChange'? – charles
[Aquí] (http://www.objc.io/issue-10/icloud-document-store.html) es una buena publicación relacionada con este tema, y mi conclusión es; No use 'NSFilePresenter'. – Eonil
GCD parece ser el camino a seguir. [Manejo de eventos del sistema de archivos con GCD] (http://www.davidhamrick.com/2011/10/10/handling-filesystem-events-with-gcd.html) – Eonil