2012-07-02 2 views
5

Когда файл изменен в iCloud (добавлен, удален или изменен контент), я хотел бы вызвать метод, который я создал ([self methodName]), чтобы я мог обновить представление таблицы с именами новых файлов. Как я могу получить уведомление об изменении файла? Нужно ли мне слушать NSNotification (если да, что это?) Или мне нужно проверить вручную? Благодарю.Как вы обнаруживаете, когда файл изменен в iCloud?

ответ

5

Имя NSNotification, которое я должен прослушать, это NSMetadataQueryDidUpdateNotification. Вот как я это сделал:

[[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 содержит большое руководство по настройке приложений iCloud на основе документов.

Чтобы ответить на ваши вопросы: пока ваш документ является UIDocument, вы можете зарегистрироваться для получения уведомления. Просто найдите эту страницу для «Мониторинг состояния документа и изменения состояния и устранения ошибок». Существует множество исходных кодов, которые помогут вам.

+0

Хорошо, это моя проблема. Я использую NSFileManager для перемещения вещей вручную в контейнер iCloud и из него, а не UIDocument. Я должен буду изучить это. Благодарю. –

Смежные вопросы