2012-07-02 19 views
5

Quando un file viene modificato in iCloud (se aggiunto, eliminato o modificato il contenuto), vorrei chiamare un metodo che ho creato ([self methodName]) in modo che possa aggiornare la mia vista tabella con i nomi dei nuovi file. Come mi viene notificato il cambio del file? Devo ascoltare NSNotification (in caso affermativo, che cos'è?) O devo controllare manualmente? Grazie.Come si rileva quando un file viene modificato in iCloud?

risposta

5

Il nome della NSNotification che devo ascoltare è NSMetadataQueryDidUpdateNotification. Ecco come ho fatto:

[[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 ottimo tutorial per la configurazione di app iCloud basate su documenti.

Per rispondere alle vostre domande, tuttavia: se il documento è un UIDocument è possibile registrarsi per una notifica. Basta cercare quella pagina per "Monitoraggio delle modifiche dello stato del documento e degli errori di gestione" - c'è un sacco di codice sorgente per aiutarti.

+0

Ok, c'è il mio problema. Sto usando NSFileManager per spostare manualmente le cose da e verso il mio contenitore iCloud, non UIDocument. Dovrò esaminarlo. Grazie. –

Problemi correlati