2012-07-02 9 views
5

Cuando se cambia un archivo en iCloud (ya sea que se haya agregado, eliminado o cambiado el contenido), me gustaría llamar a un método que creé ([self methodName]) para poder actualizar mi vista de tabla con los nombres de los archivos nuevos. ¿Cómo se me notifica el cambio de archivo? ¿Tengo que escuchar una NSNotification (si es así, ¿qué es?) O ¿tengo que verificar manualmente? Gracias.¿Cómo se detecta cuando se cambia un archivo en iCloud?

Respuesta

5

El nombre de NSNotification que tengo que escuchar es NSMetadataQueryDidUpdateNotification. Así es como lo hice:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidUpdate:) name:NSMetadataQueryDidUpdateNotification object:query]; 

... 

-(void)queryDidUpdate:(NSNotification *)notification { 

    //something changed, reload (NSMetadataQuery, create NSPredicate, rerun the query, etc.) 

} 
1

This section of the Apple developer website contiene un excelente tutorial para configurar aplicaciones basadas en documentos de iCloud.

Para responder a sus preguntas, sin embargo: siempre que su documento sea UIDocument puede registrarse para recibir una notificación. Simplemente busque en la página "Monitoreo de Cambios de Estado de Documento y Manejo de Errores" - hay toneladas de código fuente para ayudarlo.

+0

Bien, ahí está mi problema. Estoy usando NSFileManager para mover cosas manualmente hacia y desde mi contenedor de iCloud, no UIDocument. Tendré que investigar eso. Gracias. –

Cuestiones relacionadas