2012-02-01 58 views
1

我即将实现User实体和其他一些实体之间的功能,使得用户A可以实体X.不过,我我不知道如何在Core Data中最好地实现这一点。核心数据和“喜欢”的实体之间的功能

主要有两个点,我需要考虑:

  • 添加另一个可爱实体应该是微不足道的
  • 需要有同步已经脱机执行
一个 Like方式

我最初的想法是创建一个抽象核心数据实体Like

A UserLike有多对多关系,而Like有一个User

后来这应该是可爱每一个实体,我创建的Like子类具有一对一关系到可爱实体。与User的关系被继承。

这样,抽象实体Like可以具有诸如“syncedAt”和“deletedAt”之类的属性,以便可以找出是否已将Like类型实体同步到服务器。

这听起来是合理的还是有更好的方法来解决核心数据这个问题呢?这种设计有没有缺点,我没有预见到?

回答

0

为什么没有父实体LikableEntity哪些可能的实体继承自:可能具有synchedAt属性。在您的用户有一个一对多的关系likedEntities包含任何它喜欢

+0

我已经考虑过这一点。但是有一些问题。我不知道这个实体有什么不同意,即哪个特定的'like'需要被发送到服务器。而且,可爱的实体可能已经从另一个不应该讨人喜欢的类继承。 – hwaxxer 2012-02-01 14:35:46

+0

我认为你可以使用谓词的第一个:synchedAt ==零(或比一些陈旧的超时旧)?对于第二个如果你有另一个类作为根,那么LikableEntity继承它,然后你的类继承自LikableEntity。所以根类是不可爱的,但你的课是? – wattson12 2012-02-01 14:54:54

+0

使用谓词仍没有解决清楚地知道什么改变的情况下,哪些需要同步,做到对象变化或者没有给它一定的关系变化等?让LikableEntity从其他实体继承似乎有点儿。。如果我需要创建另一个可以从其他实体继承的可爱项目,该怎么办? – hwaxxer 2012-02-01 15:15:26