0

背景优先:我有一个 UIViewController 和 3 个工作 UITableViews。我添加了第四个表,但我的控制器从未为我的第四个表调用任何 UITableViewDelegate 或 UITableViewDataSource 方法(例如 tableView:cellForRowAtIndexPath),仅对前三个表调用。在哭泣和咬牙切齿之后,我发现我需要打电话给[self.myFourthTable setDelegate:self][self.myForthTable setDelegate:self]viewDidLoad.

我从来没有为我的前 3 个表调用这些方法中的任何一个。这里发生了什么?为什么我必须为我的第四张桌子调用这些,而不是前三张?据我所知,第四个应该和前三个一样对待——它们都是我的视图控制器的属性,它们都是合成在一起的,我在我的代码中以同样的方式处理它们。

4

1 回答 1

2

我的猜测是这些 UITableViews 是在 Interface Builder 中添加的。前三个通过 Interface Builder 中的插座设置了它们的数据源和委托。你没有这样做,所以需要通过代码来做。

截图示例

于 2012-10-25T13:40:45.437 回答