在我的应用程序中,我必须维护与云工具包专用数据库同步的本地持久性存储。因此,我只想知道如何处理可能发生的帐户更改。
我的困惑如下:
说现在一组记录属于用户A,如果用户B登录到同一部电话,则我可以执行以下两项操作:
除了上述两点之外,如何最好地解决这一问题。
最佳答案
当然,您可以在本地持久性存储中添加userID来个性化所有记录。另一种机制是在检测到更改时删除所有本地数据并获取用户数据。如果要将用户数据保留在设备上,则还可以为每个用户创建单独的数据存储。
您可以通过在应用程序委托(delegate)或根 View Controller 中添加以下代码来检测更改的登录名:
NSNotificationCenter.defaultCenter().addObserverForName(NSUbiquityIdentityDidChangeNotification, object: nil, queue: nil) { _ in
/// remove local data and fetch user data
}
您还应该刷新内存中所有与用户相关的数据,并刷新已加载的 View 。
关于ios - CloudKit : How to handle account changes with local persistent store?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32985913/