首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带NSFetchedResultsController的MVC

带NSFetchedResultsController的MVC
EN

Stack Overflow用户
提问于 2014-04-05 14:21:18
回答 1查看 260关注 0票数 1

这里有点新鲜,有一个关于建筑的一般性问题。

我有一个iOS应用程序,它有两个不同的视图,它们都与相同的核心数据模型对话。

我为其中一个视图实现了一个NSFetchedResultsController,作为一个本地属性。很多委托方法来实现..。

  • (void)controllerWillChangeContent:(NSFetchedResultsController *)控制器
  • (NSFetchedResultsController*)控制器didChangeSection:(id )sectionInfo atIndex:(NSUInteger)sectionIndex atIndex
  • (NSFetchedResultsController*)控制器didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath indexPath newIndexPath:(NSIndexPath *)newIndexPath
  • (void)controllerDidChangeContent:(NSFetchedResultsController *)控制器
  • (NSFetchedResultsController *)fetchedResultsController

其中的...most是样板,但我想避免将它们复制/粘贴到另一个视图中。

有什么建议建议重新设计以避免这种异端.?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-05 17:42:12

首先,我希望您在提到视图时指的是“视图控制器”。将这些代码放入UIView子类将是非常糟糕的设计。这是控制器代码,所以不要把它放在视图中。

至于限制复制,您使用的是面向对象的语言,因此有一种可能是让这两个视图控制器从公共父类继承。将重复的代码移到父类中,让每个视图控制器在执行自己的实现之前调用super的实现。这可能需要一些注意,以确保超类的实现对于其两个子类都足够通用。如果这证明非常困难,那么可能是代码不够通用,不足以进行重构以提供帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22882085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档