Я пытаюсь настроить высоту только последней строки таблицы. Кажется, я сталкиваюсь с каким-то рекурсивным циклом при попытке найти индекс последней строки. В моем heightForRowAtIndexPath:
методе я имею следующее:Метод делегата UITableView
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
CGFloat height = 60;
NSInteger lastSectionIndex = [tableView numberOfSections] - 1;
NSInteger lastRowIndex = [tableView numberOfRowsInSection:lastSectionIndex] - 1; // BLOWS UP!
if ((indexPath.section == lastSectionIndex) && (indexPath.row == lastRowIndex)) {
height = 44;
}
return height;
}
Если я настроить код праведный немного, он работает.
NSInteger lastRowIndex = [self tableView:tableView numberOfRowsInSection:lastSectionIndex] - 1; // WORKS!
Может ли любой гуру Objective-C/iOS пролить свет на то, что здесь происходит? Почему один синтаксис работает над другим? Разве это не тот же самый метод?
Вы можете проверить код здесь для контекста: https://github.com/phungkytown/chapter8_gold
Любая помощь очень ценится!