我想把这个问题发布到社区上。我正在使用CoreData,并且有两个实体。这两个实体都有一个分层关系。我现在注意到很多功能是重复的,所以我在思考是否应该重新构建一个基础实体(抽象的HierarchicalObject),并让我的实体继承它们。
问题是,这种继承有哪些限制需要考虑?阅读一些帖子后,我看到了一些权衡,如果我的假设是正确的,请告诉我。
- (好处) 整理结构,在一个地方保留HierarchicalObject的功能。
- (可以接受) 使用继承,两个对象现在会出现在同一个sqlite表中(我正在使用Sqlite作为后端)。如果对象数量增长,搜索/排序可能需要更长时间?不确定这是否是一个巨大的问题,因为在我的情况下,对象数量应该相当静态。
- (不太好) 通过继承,关系可能变得更加复杂? (http://www.cocoadev.com/index.pl?CoreDataInheritanceIssues)
还有其他需要考虑的事情吗?
谢谢你的评论。