关于UITableViewController

时间:2011-12-06 03:41:22

标签: iphone xcode custom-controls uitableview

从文档中,似乎UITableViewController会在初始化时创建自己的表视图。因此,它的tableView属性将在初始化后立即指向Table View对象。

我的问题是:

1.是否可以创建自己的表视图对象并将其分配给UITableViewController对象的tableView属性?

2.如果可以进行上述分配,我们是否必须担心释放旧的表视图 最初与控制器一起提供的对象?

3.如果我们可以使用我们自己定制的表视图对象,建议这样做吗?

2 个答案:

答案 0 :(得分:2)

如果您只是要替换UITableView,请不要打扰UITableViewController。只需子类UIViewController并添加自己的表。 UITableViewController实际上只添加了一些便利,例如闪烁滚动指示符和取消选择-viewWillAppear:中的选定行。

答案 1 :(得分:2)

  1. 是的,您可以创建自己的tableView对象,并像分配任何其他属性一样进行分配。

  2. 不,你不必担心。如果你看一下UITableViewController中的属性声明,它如下:

    @property(nonatomic, retain) UITableView *tableView;
    

    因此,如果您使用其setter或点表示法(即self.tableView = ...),它将自动释放并保留。

  3. 我已经创建了自己的自定义UITableView对象很多次,但正如Mark Adams所说,如果你这样做,你也可以创建一个UIViewController的子类并添加一个UITableView,尽管你可以如果你愿意,仍然可以使用UITableViewController。