如果另一个设备上的核心数据中的条目发生更改,NSLog 消息会显示它已注意到更改,但 NSPersistentStoreDidImportUbiquitousContentChangesNotification
没有被调用。直到在我的第一台设备上保存它才知道更新我的表格 View 。
这是我的代码:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(iCloudUpdates:)
name:NSPersistentStoreDidImportUbiquitousContentChangesNotification
object:nil];
有人知道为什么这可能不起作用吗?
最佳答案
第一个选项:
如果您的问题是更新两台设备都有延迟,这是正常现象,Apple 不保证更新时间,但通常很快。
如果另一方面的问题是未调用 iCloudUpdates 方法,请确保签名正确,应该是:
-(void)iCloudUpdates:(NSNotification*)notification {
// do your stuff here
}
第二种选择:
在撰写本文时,iOS 5 的 iCloud 和 CoreData 存在很大的问题,我最近发布的应用程序没有 iCloud 支持。
如果您想知道发生了什么,请通过以下方式打开 CoreData 和 iCloud 的登录:
-com.apple.CoreData.SQLDebug 1
-com.apple.coredata.ubiquity.logLevel 3
在您的方案管理器中,在 run->arguments 选项卡下。
如果您在“目标”设备中看到一些奇怪的错误,那就是 iCloud 无法正常工作的情况。
关于iphone - NSPersistentStoreDidImportUbiquitousContentChangesNotification 未得到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11594960/