我有一个相当复杂的子类UITableViewController。最重要的是,根据用户设置(在不同的视图中访问),tableview中的数据可以通过三种方式之一进行排序。每个设置都需要对tableview进行不同的排序和分组,尽管行中项目的行为是常见的(例如,无论显示设置如何,每行的select动作都是相同的。类似地,顶部和底部工具栏是一致的)。这会导致我的代码基于应用的用户设置进行大量分支。在不同的表格视图之间切换
有没有一种很好的方法来分开这一点?我考虑了UITableView的三个不同的子类,但后来我失去了共同性。所以也许是一个抽象的自定义UITableView子类,有三个子类从那里继承?如何在设置更改后的实例之间切换?
也许你有更好的主意?由于只有tableview本身的内容发生了变化,所以我想避免重复和维护相同的代码三次。
谢谢,但这是我目前有 - 每个方法的三个if子句,所以很多难以阅读的代码。我想知道是否有办法将它们移入子类或以其他方式划分功能。 – 2012-03-14 02:12:34