cellForRowAtIndexPath, не названный; разделы возвращаются 1, и строки возвращается 4

Iterable <T>

5
задан azdev 22 October 2009 в 19:05
поделиться

4 ответа

В fillArrays вы создаете другой контроллер представления, но вы никогда ничего не делаете с ним или его представлением, вы никогда не увидите это представление. Вы также никогда не вызовете viewDidAppear вручную, это происходит автоматически, когда отображается представление контроллеров представления (ТОЛЬКО в контексте контроллера навигации).

Обычно поток таков: вы создаете контроллер представления и либо добавляете это представление как subview текущего представления или отправьте его как новое окно с помощью контроллера навигации. Я почти уверен, что вся ваша проблема в том, что их таблица никогда не добавляется в представление, которое кто-либо действительно видит, поэтому таблица вызывает другие методы, но никогда не вызывает cellForRow, потому что ее код layoutSubviews просто не вызывается.

4
ответ дан 13 December 2019 в 05:37
поделиться

если вы устанавливаете делегат и источник данных в viewDidLoad, то это может быть источником вашей ошибки. Можете ли вы установить источник данных и делегировать в init?

0
ответ дан 13 December 2019 в 05:37
поделиться

Убедитесь, что делегат tableView и источник данных указывают на viewController

0
ответ дан 13 December 2019 в 05:37
поделиться

I cannot see anything wrong with the code as-is, have you verified with breakpoints that cellForRow is never reached (even though I see you have a log statement)?

Also I would try just for a sanity check to return "1" explicitly in rowsInSection, and hardcode a string in the cell you are returning in cellForRow.

If all else fails, create a new table view controller from the XCode templates and put your calls in there - then when that works, work backwards to why your code does not.

Also, it would be good to see your viewDidLoad setup code (add to answer above please).

0
ответ дан 13 December 2019 в 05:37
поделиться