在一个应用中拥有多个用户的最佳方法

时间:2017-07-27 08:17:17

标签: realm

这是一款可以拥有不同类型用户的移动应用。我只使用领域进行离线存储。假设我有两个用户A和B,并且有一个列表类。这个类永远不会被共享,因此每个用户都有不同的数据。我将如何设计架构?考虑版本控制和迁移。

一个。为List添加主键,并以不同方式为用户A和B分配。

B中。使用两个不同的领域

1 个答案:

答案 0 :(得分:1)

没有一种很好的方法可以定义您的Realm架构,完全选择的解决方案取决于具体情况。

如果您希望您的用户数据完全相互独立,您将永远不需要使用单个查询来检索用户数据或访问某些常见数据,那么每次使用时都使用单独的Realm个实例似乎是一个很好的方法。它提供了用户数据之间的完全分离。

但是,如果您的用户可能拥有某些共享数据,或者您最终可能会对所有用户进行一些统计,即使他们的数据是独立的,也可以使用单个Realm实例。在这种情况下,您应该在每个用户和要在列表中存储的任何对象之间创建一对多关系,如下所示:

class User:Object {
    let stuff = List<Stuff>()
}