如何使用CoreData处理多个用户

时间:2018-01-02 16:20:35

标签: ios authentication core-data swift3

所以我正在创建一个费用跟踪应用程序,允许用户创建不同的钱包。每个钱包都有自己的费用,并且还有一个密码可以访问它。但是,我希望每个钱包都有自己的费用,而不是能够访问其他帐户的费用。

如果你拥有它,几乎就像电子钱包应用程序一样。

我的问题是,如何使用coreData完成此操作。我有一个费用数据模型,用于管理费用名称和日期等内容。但是如何让它们成为一个钱包的独特之处。我是否必须创建另一个钱包实体并将每个费用分类到其中然后相应地检索,或者有更好的方法来执行此操作?

另外,我应该使用CoreData或类似Firebase还是Parse?

1 个答案:

答案 0 :(得分:0)

iOS和Core Data都没有多个用户的意识,因此您需要实施自己的解决方案。如何操作取决于数据的安全性,数据是否可从服务器获得,以及是否可以删除已注销用户的数据或是否需要保留数据。

最简单的方法可能是为每个用户创建一个钱包对象实例。所有卡或费用或与该对象的实例相关的任何内容。当有人登录时,重置UI并删除现有数据,然后加载新用户的钱包。当有人登录时,您需要确保从内存中清除所有现有数据,否则您可能会将用户的数据显示给其他人。

根据您的要求,其他可能的方法包括:

  • 使用单独的持久存储文件,每个用户一个。卸载持久存储并重建整个Core Data堆栈。
  • 注销时删除用户的数据。稍后,从服务器检索它(如果有的话)。