ios - 我应该为不同的数据源重用导航和 TableView Controller 吗?

标签 ios objective-c uitableview ecslidingviewcontroller

我正在使用 ECSlidingViewController,这是一个提供侧边抽屉效果的库。我的应用程序打开一个(导航 Controller 持有一个)“附近”结果的 TableView Controller ,并且单元格转到 ScrollView Controller 。

隐藏的左侧菜单是一个 TableView Controller (不同类),有几个选项,其中 2 个是其他 TableView Controller ,它们将使用与 TableView 相同的布局、单元格原型(prototype)和详细 ScrollView 启动。

我想知道使用某种属性(例如枚举 typeOfDisplay)制作更通用的 tableView 是否会更好,这让我有条件地管理不同的细微差别,例如从服务器/CoreData 填充单元格、导航栏标题、排序顺序、切换自动更新、可编辑性等 - 或者 - 如果我应该为每个不同的 View Controller (“附近”、“精选”和“已保存”)制作 NavigationController->TableViewController->ScrollViewController

我想重用我的表格 View ,因为单元格/显示/细节是相同的,但填充表格的方法不同,我不想做一些难以修改的事情。

编辑 -

如果您熟悉选项卡栏 Controller 中的 TableView ,那么实现细节应该几乎相同。

最佳答案

最好将 View 配置放入 View Controller 中。但是可以有重用配置操作的方法。

我遇到过和你一样的情况。我决定使用 Strategy Pattern重构我的 Controller 。我将所有与数据相关的东西放入符合 UITableViewDataSourceUITableViewDelegate 协议(protocol)的 TableDataManager 类中,并对其应用多态性来配置数据在单元格中以及 UITableView 在运行时不同情况下的外观。

所有相同的操作都在 TableDataManager 中实现,细微差别由 TableDataManager 的子类覆盖。通过将 TableDataManager 的适当子类分配给 View Controller ,您无需在各处复制和粘贴相同的单元格/显示/详细信息操作。

这是我的经历。希望对您有所帮助。

关于ios - 我应该为不同的数据源重用导航和 TableView Controller 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17931595/

相关文章:

ios - 使用 iOS 应用程序开发 Realm ,有没有办法以 GUI 的形式查看数据库?

iOS UITableView - 部分内的部分

ios - 高效的离屏UIView渲染和镜像

iphone - 如何在nsdictionary中的键上添加数组

IOS 蓝牙 LE 扫描设备未添加到 uitableview

ios - 空 tableView 上没有结果标签

ios - 如何从 JSON 字典数组中获取 NSString?

ios - 获取NSData而不是NSXMLParser

ios - 如何在 UITableView 中设置分隔符的全宽

ios - 分段控件更改tableView数据源