iphone - 是重用 View Controller 更好还是分离逻辑更好

标签 iphone ios xcode cocoa-touch

我正在使用几种不同的服务来显示提要中的文章。它们都可以使用一个 View Controller 显示,但是我必须创建一个属性来指示用户来自哪个服务,并在每次我想对这些文章执行某些操作时检查它。

我对这种方法有经验 - 相信我有很多意大利面条代码,只是为了检查它是哪个服务,决定对每个服务做什么,这有点困惑。

所以我有两个选择:

1st - 为所有服务重新使用 ArticlesViewController,但检查文章来自哪个服务,并在我想编辑这些文章时基于此做不同的事情。

第二 - 为每个服务制作 FacebookArticlesViewController、TwitterArticlesViewController、SinaWeiboArticlesViewController(仅示例),并分离逻辑。

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

最佳答案

惊喜第三个选项!

创建一个名为 ArticlesViewControllerSourceDelegate 的协议(protocol)或基类。对于 ArticlesViewController 中您具有根据文章来源而变化的逻辑的每个位置,将选择器添加到 ArticlesViewControllerSourceDelegate

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

关于iphone - 是重用 View Controller 更好还是分离逻辑更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12831720/

相关文章:

iphone - iPad 自定义键盘 GUI

ios - 如何在 Xcode 中使元素成为百分比宽度

objective-c - 以编程方式复制 ScrollView 中的现有 UIView? ( Storyboard)

ios - 即使在添加异常(exception)后也无法通过 HTTP 加载图像

ios - info.plist中的 "Application Requires iPhone Environment"键是什么意思?

iphone - Facebook Connect - 安装 GIT,#import "Facebook.h" "file not found"

iphone - 如何获取 Google Drive 文件的公共(public) URL?

iphone - GPS定位器

ios - 核心数据后台保存性能问题

ios - 应用程序始终在横向左侧启动