У меня есть контроллер представления MainVC, который содержит представление, в котором я хочу переключаться между различными таблицами. У меня есть «абстрактный» класс с именем InfoVC, который расширяет UITableViewController и содержит несколько методов, которые должны быть переопределены, иначе они выдают исключение. Наконец, у меня есть несколько классов, которые расширяют InfoVC и реализуют «абстрактные» методы в InfoVC, а также методы, которые переопределяют numberOfRowsInSection и cellForRowAtIndexPath tableView.
Вот так я загружаю таблицу в MainVC. В этом случае TemperatureInfoVC расширяет InfoVC, self.subVC имеет тип InfoVC, а switchView - это представление в MainVC:
TemperatureInfoVC *sVC = [[TemperatureInfoVC alloc] initWithStyle:UITableViewStylePlain];
self.subVC = sVC;
[sVC release];
[switchView insertSubview:self.subVC.view atIndex:0];
Моя проблема в том, что таблица всегда загружается пустой. Из установки точек останова я вижу, что NumberOfRowsInSection в TemperatureInfoVC вызывается, но не вызывается ни ячейка TemperatureInfoVC, ни InfoVC cellForRowAtIndexPath. Однако, если я изменю первую строку в коде выше на:
InfoVC *sVC = [[InfoVC alloc] initWithStyle:UITableViewStylePlain];
, тогда InfoVC numberOfRowsInSection и cellForRowAtIndexPath вызываются правильно. Кто-нибудь знает, почему CellForRowAtIndexPath TemperatureInfoVC не вызывается?