我遇到了一个问题,即没有为包含UITableView的UIViewController调用viewDidAppear方法。实际上,在viewWillAppear之后立即调用tableView数据源方法。我发现原因是tableView委托和数据源是在viewDidLoad方法中设置的(tableView reloaddata:没有被调用)。如果我将这两行代码移动到viewDidAppear方法(并添加了tableView reloaddata :),一切正常。我有点困惑,因为我通常在viewDidLoad方法中设置视图委托。
有没有人见过这个?这是一个更大问题的症状吗?还有一般的最佳实践来设置委托和数据源吗?
任何见解都将受到赞赏。谢谢!
答案 0 :(得分:2)
每次viewController要显示视图时都会调用这两种方法(即第一次或其他一些viewController发现它)。
因此,通常您应该将委托设置为viewDidLoad方法。
您正在观察的行为绝对没问题。没有这种大问题的症状。