为了监视我的iCloud容器文件中的变化,我已经报名为什么连续多次调用NSMetadataQueryDidUpdateNotification?
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(processiCloudUpdates:)
name:NSMetadataQueryDidUpdateNotification
object:nil];
理想的情况下,每当我收到已有更新消息,我想开我的每一个UIDocs和检查如果设置已被更改。这可以,如果NSMetadataQueryDidUpdateNotification
只被调用一次。但是,它被多次触发(我没有忘记removeObserver
等,并且有多个实例正在运行),因此每次更新通知被触发时加载所有文件是非常不切实际的(如果我有5个文件这被称为4次,我会连续打开20个UIDocs)。举例来说,出现这种情况,如果我更新一个文件(只有一个文件在我的无处不在的容器):
2012-07-05 10:51:39.565 Meernotes[7842:707] ... NSMetadataQuery update
2012-07-05 10:51:42.468 Meernotes[7842:707] ... NSMetadataQuery update
2012-07-05 10:51:45.216 Meernotes[7842:707] ... NSMetadataQuery update
2012-07-05 10:51:47.036 Meernotes[7842:707] ... NSMetadataQuery update
是否有任何其他的方法来确定当一个文件有哪些变化? NSFileVersion也没有太大的帮助。
我认为“如何监控iCloud变化?”这个问题依然存在。 – 2013-03-05 08:20:33