【发布时间】:2012-04-09 18:17:36
【问题描述】:
我有一些由自定义 NSManagedObject 类管理的实体。它们被列在不同的视图控制器中。托管对象子类具有共同的抽象超类,它拥有共同的属性(假设它的 title 为 NSString 和 favorite 为 BOOL)。我有收藏夹的视图控制器,其中列出了所有具有favorite 属性的实体为真。由于收藏夹有不同的类 - 从这些托管对象的抽象超类的适当子类派生(或获取)视图控制器类是否正常?我在这里打破了 MVC 吗?
更新
对 sergio 的一些说明:假设我有抽象超类 Animal 和子类,如 Cat、Dog。这些实例代表个体动物(如有名字的动物)。然后我有 CatsViewController 和 DogsViewController。他们列出了适当的Animal 子类的实例。我还有代表托管对象的单个实例的 CatDetailsViewController 和 DogDetailsViewController。然后我有FavoritesViewController,它在一张表中列出了猫和狗。点击一行后,我想将用户带到适当的 CatDetail 或 DogDetail 视图控制器。这就是问题所在 - 我可以从托管对象的实例中派生/获取视图控制器的类。我也对实现这一点的其他选择持开放态度。
【问题讨论】:
-
我会有一个 AnimalViewController,FavoritesViewController 会继承它。但除此之外,您的设计看起来还不错。
标签: ios model-view-controller core-data