从文档中,似乎UITableViewController
会在初始化时创建自己的表视图。因此,它的tableView属性将在初始化后立即指向Table View对象。
我的问题是:
1.是否可以创建自己的表视图对象并将其分配给UITableViewController对象的tableView属性?
2.如果可以进行上述分配,我们是否必须担心释放旧的表视图 最初与控制器一起提供的对象?
3.如果我们可以使用我们自己定制的表视图对象,建议这样做吗?
答案 0 :(得分:2)
如果您只是要替换UITableView
,请不要打扰UITableViewController
。只需子类UIViewController
并添加自己的表。 UITableViewController
实际上只添加了一些便利,例如闪烁滚动指示符和取消选择-viewWillAppear:
中的选定行。
答案 1 :(得分:2)
是的,您可以创建自己的tableView对象,并像分配任何其他属性一样进行分配。
不,你不必担心。如果你看一下UITableViewController中的属性声明,它如下:
@property(nonatomic, retain) UITableView *tableView;
因此,如果您使用其setter或点表示法(即self.tableView = ...),它将自动释放并保留。
我已经创建了自己的自定义UITableView对象很多次,但正如Mark Adams所说,如果你这样做,你也可以创建一个UIViewController的子类并添加一个UITableView,尽管你可以如果你愿意,仍然可以使用UITableViewController。