How do you detect when a file is changed in iCloud?

孤街浪徒 提交于 2019-12-21 15:45:31

问题


When a file is changed in iCloud (whether added, deleted, or the content changed), I would like to call a method I created ([self methodName]) so that I can update my table view with the names of the new files. How am I notified of the file change? Do I need to listen for a NSNotification (if so, what is it?) or do I have to check manually? Thanks.


回答1:


The name of the NSNotification I have to listen for is NSMetadataQueryDidUpdateNotification. This is how I did it:

[[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.)

}



回答2:


This section of the Apple developer website contains a great tutorial for setting up document-based iCloud apps.

To answer your questions, though: as long as your document is a UIDocument you can register for a notification. Just search that page for "Monitoring Document-State Changes and Handling Errors" - there is tons of source code to help you out.



来源:https://stackoverflow.com/questions/11287294/how-do-you-detect-when-a-file-is-changed-in-icloud

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!