重新使用视图控制器是否更好,或者最好将逻辑分开

Dev*_*fly 2 iphone xcode cocoa-touch ios

我正在使用几种不同的服务来显示来自Feed的文章.它们都可以使用一个视图控制器显示,但是我必须创建一个属性来指示用户来自哪个服务,并在每次我想对这些文章做某事时进行检查.

我有这方法的经验 - 相信我有很多意大利面条代码,只是为了检查它是什么服务,决定每项服务做什么,它有点乱.

所以我有两个选择:

第1步 - 重新使用ArticlesViewController进行所有服务,但检查来自哪一个文章,并根据我想要编辑这些文章的内容做不同的事情.

第2步 - 为每个服务制作FacebookArticlesViewController,TwitterArticlesViewController,SinaWeiboArticlesViewController(只是示例),并分离逻辑.

您认为最好的方法是什么?

rob*_*off 5

惊喜第三选择!

创建一个名为的协议或基类ArticlesViewControllerSourceDelegate.对于ArticlesViewController您根据文章来源改变逻辑的每个地方,请添加选择器ArticlesViewControllerSourceDelegate.

然后ArticlesViewControllerSourceDelegate为每个文章源创建一个实现或子类.