设置UITableView委托和数据源时的最佳实践

时间:2013-03-06 15:48:42

标签: ios uitableview uiviewcontroller

我遇到了一个问题,即没有为包含UITableView的UIViewController调用viewDidAppear方法。实际上,在viewWillAppear之后立即调用tableView数据源方法。我发现原因是tableView委托和数据源是在viewDidLoad方法中设置的(tableView reloaddata:没有被调用)。如果我将这两行代码移动到viewDidAppear方法(并添加了tableView reloaddata :),一切正常。我有点困惑,因为我通常在viewDidLoad方法中设置视图委托。

有没有人见过这个?这是一个更大问题的症状吗?还有一般的最佳实践来设置委托和数据源吗?

任何见解都将受到赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

当将要显示UIViewController的视图时,将调用viewWillAppear方法。在显示UIViewController的视图后,将调用viewDidAppear方法。

每次viewController要显示视图时都会调用这两种方法(即第一次或其他一些viewController发现它)。

因此,通常您应该将委托设置为viewDidLoad方法。

您正在观察的行为绝对没问题。没有这种大问题的症状。