我的问题是如何正确实现这一点并设计良好。
我会使用核心数据。
问题描述: 假设我们在系统中有两个对象类型(类),即位置和事件。它们是从webservice中检索出来的,没有必要坚持下去。
这两种对象中的任何一种都可以添加(保存)到收藏夹中,并且应该在本地保存。
其他要求:
我对实现这一目标的最佳方式感到困惑。我应该将位置和事件直接存储为单独的实体(模型对象),并以某种方式在单个提取中检索它,以获取和管理收藏夹列表。或者,也许使用接口/协议(例如Favorable),并创建和存储Favorite对象,并且可以添加到收藏夹的每个对象应该实现有利并且将转换为Favorite对象,但在这种情况下,它将限制收藏夹仅限于Favorite对象公开的属性。
答案 0 :(得分:1)
您应该使用这两个实体创建一个简单的Core Data模型。这是非常直截了当的。您的表视图将具有两种类型的单元格(具有不同的标识符),可根据需要显示数据。
您可以在整个应用中使用这些实体(NSManagedObject的子类)。无论如何,您应该坚持使用它们(因此,如果互联网出现故障并允许用户继续使用它们,则可以使用它们)。最喜欢的实例可以用BOOL属性标记。
但需要考虑一个设计因素:您可能希望在Location和Event之间创建可选关系。某些事件可能与特定位置相关联,您也需要此信息。使用Core Data,这很容易做到。