use*_*594 5 core-data user-accounts ios cloudkit
在我的应用程序中,我必须维护与云工具包专用数据库同步的本地持久性存储。所以我只想知道如何处理可能发生的帐户更改。
我的困惑如下:现在说一组记录属于用户A,如果用户B登录到同一部电话,则我可以执行以下两项操作:
忽略用户,也让数据同步到B帐户,但是那样A的数据也将同步到B的私人帐户。自从将CKRecord编码的字段保存到数据库以来,这里的记录更改标记和所有内容都有些混乱。
我可以维护一个用户表,并将每个记录链接到以这种方式记录的用户数据分开的用户。那么我应该维护一个用户字段以及所有记录吗?
除了上述两件事,如何最好地解决这一问题。
当然,在本地持久性存储中,您可以添加用户 ID 来个性化所有记录。另一种机制是在检测到更改时删除所有本地数据并获取用户数据。如果您想将用户数据保留在设备上,您还可以为每个用户创建单独的数据存储。
您可以通过在应用程序委托或根视图控制器中添加以下代码来检测更改的登录信息:
NSNotificationCenter.defaultCenter().addObserverForName(NSUbiquityIdentityDidChangeNotification, object: nil, queue: nil) { _ in
/// remove local data and fetch user data
}
Run Code Online (Sandbox Code Playgroud)
您还应该刷新内存中所有与用户相关的数据并刷新加载的视图。
| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |