【发布时间】:2017-10-29 19:39:03
【问题描述】:
我有一个在本地使用 Realm 的 iOS 应用程序,它运行良好,我打算使用 Realm 对象服务器来启用:
- 跨设备数据同步
- 应用重新安装时数据恢复
我在最后一个问题上遇到了很多麻烦。我的应用程序中的流程如下:
- 首先,它尝试在我的 Realm Sync 中找到
User。如果存在User,则执行步骤4,否则执行步骤2; - 询问用户姓名、收入和发薪日;
- 获取用户的 iCloud 用户记录 ID 和
logIn到领域对象服务器。 - 使用 SyncUser 的
identity作为User实体标识符。将我刚刚询问的数据(姓名、收入和发薪日)保存到 Realm; - 转到应用主屏幕,让用户享受应用。
ROS 正在使用基于 cloudkit 的身份验证。如果我按照上述步骤 1-4 操作,然后重新安装应用程序,则会出现问题。我希望之前创建的User 在步骤 1 中被检索,但是它在主键旁边的所有字段都设置为空白值(名称变为空字符串,收入和发薪日变为 0)。这种行为是预期的吗?我想做的事情是否符合 Realm 的目的?
编辑
@AustinZ 回答后让流程更清晰。
【问题讨论】:
-
尝试检查 getter 而不是直接检查字段
-
你的意思是像
[user getName]吗?我正在使用 Swift,我有办法做到这一点吗?此外,我刚刚注意到 Realm Object Server 中的用户条目似乎也将其值设置为空白值(我正在查看 Realm Studio)。 -
嗯..不确定。我不是很精通同步