2012-04-20 47 views
2

我有一个MainViewController,我想为它添加两个UITableView,每个都有不同的单元格。但我不想阻塞我的MainViewController代码,方法是检查表的委托方法,然后对其执行操作。它太乱了。什么时候子类UITableView?

所以我想我会继承的UITableView,让它处理cellForRow和自身其它表的方法,而这样一来,当我想添加一个表MainViewController,所有我必须是

CustomTable *customTable = [[CustomTable alloc] init]; 
[self.view addSubview:customTable]; 

和所有委托方法将在该类中处理,使我的MainViewController混乱空闲。

我接近这个错误吗?我应该继承UITableViewController而不是?有什么不同?

+1

为什么不创建实现UITableViewDelegate/DataSource的NSObject的两个子类,并且对于每个MainViewController,您可以创建每个类的其中一个,并让它们使用您提供的信息处理这些表? – EmilioPelaez 2012-04-20 16:42:52

+0

我不明白..我只有1个MainViewController和2个tableView .. – Snowman 2012-04-20 16:44:36

+0

假设我创建了一个普通的UITableView。我可以分配另一个NSObject子类来处理该表的委托方法?那是你在说什么?我会怎么做? – Snowman 2012-04-20 16:49:26

回答

10

何时子类UITableView?不是现在。

创建两个类,它们是视图控制器的成员变量。将表视图委托指向您的两个新类中的每一个。

在Cocoa中,您倾向于将类与其继承,而不像您通常在Java和C#中那样继承它们。

+1

希望我能投票这两次!在表视图委托是拥有视图控制器的情况下很容易出现。打破这种习惯在这里得到一个可爱的答案。 – danh 2012-04-20 18:10:36

+0

你能解释一下你在这里的意思吗?我将如何去做这个 – MobileMon 2014-12-09 12:35:36

+0

你的意思是“@class”语法吗? – MobileMon 2014-12-09 13:02:43

相关问题