登录时由多个用户访问的核心数据值(iOS Swift)

问题描述 投票:1回答:2

我有一个应用程序,其中UITableView用于表示朋友列表。现在,这个表由存储在核心数据中的值更新,我通过Parse将朋友值下载到核心数据。我没有直接访问Parse来更新tableView,而是决定更新Core Data然后更新tableView,因为我需要应用程序其他部分的朋友信息,并认为使用Core Data比调用Parse更有效率一次又一次。一切正常!

但是,我的应用程序有一个登录系统,用户可以使用该应用程序。当我创建另一个虚拟用户来测试它时,我发现我的实际帐户中存储在Core Data中的朋友值被用于更新朋友列表tableView!实际上tableView应该为空(新用户)。

我不确切知道Core Data是如何工作的,但我认为它使用设备内存的某些部分来存储实体。我的问题是,是否可以使用Core Data存储与登录同一设备的其他用户无法访问的特定用户相关的私人信息?或者我应该在需要信息时继续拨打Parse电话?

希望你们理解我的问题,谢谢!

ios swift core-data
2个回答
1
投票

iOS不是一个多用户系统。您的应用将其文件存储在沙盒文件夹结构中,此沙箱独立于您在应用中实现的任何用户登录。

当新用户登录时(或者,如果您愿意,当用户注销时),您可以删除存储在Core Data中的任何您不希望其他用户有权访问的数据。


0
投票

Parse可以通过Local Storage离线保存数据或通过Cache Policy缓存请求

它们比创建自己的数据库(通过CoreData)快得多。

© www.soinside.com 2019 - 2024. All rights reserved.