вызывается numberOfRowsInSection, но не cellForRowAtIndexPath в образце яблока MultipleDetailViews - PullRequest
2 голосов
/ 28 октября 2010

Если вы скачаете этот пример (ipad): http://developer.apple.com/library/ios/#samplecode/MultipleDetailViews/Introduction/Intro.html и установите точку останова на numberOfRowsInSection, а также на cellForRowAtIndexPath и начнете в альбомной ориентации, у меня возникнет следующий вопрос:

Первый : приложение приходит дважды в numberOfRowsInSection -> "почему 2 раза? Потому что есть 2 раздела ... хорошо, но где они определили, что есть 2 раздела?"

Второй : приложение дважды входит в numberOfRowsInSection и затем вызывает cellForRowAtIndexPath -> здесь нет вопросов ... это нормально

Третий :когда я переключаюсь в портретный режим и нажимаю кнопку popover, приложение вызывает 3 раза numberOfRowsInSection и никогда не вызывает cellForRowAtIndexPath -> "почему 3 раза? Почему он не вызывает cellForRowAtIndexPath"?

Заранее спасибо!

1 Ответ

1 голос
/ 28 октября 2010

Судя по коду, кажется, что в контроллере корневого представления есть только один раздел, и этот раздел имеет две строки (комментарий в tableView:numberofRowsInSection: неверен).почему tableView:numberOfRowsInSection: вызывается несколько раз, а tableView:cellForRowAtIndexPath: не вызывается.Именно внутренняя реализация табличного представления определяет, когда ему нужно вызывать эти методы для разметки своего содержимого.И если вы реализуете эти методы правильно, не имеет значения, сколько раз они были вызваны.

...