我有一些数据需要从服务器(后端)加载。例如,让我们说我有一个用户和事件的实体。它们之间的关系是多对多的(用户可以参加很多活动,活动可以有很多参与者)。所有数据都远程存储在后端,并在本地存储在Core Data中。当我从后端下载数据时,我将它转换为NSManagedObjects并将其存储在NSManagedObjectContext中。一切都很简单,但...在核心数据中存储关系中不存在的对象的数量
当我下载一个我想知道的事件列表,这个事件有多少与会者。但是我不能在同一个请求中下载用户列表,因为这完全是矫枉过正。我需要的是下载一个用户唯一ID的列表,这样我就可以拥有两件事:参加者总数和下载具体用户详细数据的方法(通过唯一ID)。或者还有另一个例子:我需要知道与会者的总数并下载一组有限的数据,因此我可以在CoreData中创建一些实体,但不是全部。
所以主要问题是我该如何将这些信息存储在我的CoreData中?这意味着我需要知道,对于某些实体来说,关系中有一些实际上并不存在于CoreData中的相关实体,但我知道它们中应该有多少实体。我想到的第一件事是在我的事件实体中有一个叫做usersCount
的属性,但是这似乎有点肮脏。这种情况的最佳做法是什么?
如果问题不够清楚,请发表评论,以便我可以添加一些更具体的细节。
您是否考虑在核心数据中创建关系实体?这样用户和事件可以有点独立,每个与关系实体有多对多的关系。 –