2012-02-01 122 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