У меня были проблемы с искажением изображения моей ячейки, а после having it answered Затем я пошел реализовать решение, которое в основном состояло в сокращении высоты конкретных оскорбительных ячеек (которые автоматически добавляли к ним высоту). Я сделал это следующим образом:Почему использование numberOfRowsInSection вызывает бесконечный цикл в моем приложении?
- (CGFloat)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath {
CGFloat standardHeight = 44.0;
if ([tableView numberOfRowsInSection:indexPath.section] == 1) {
standardHeight -= 2;
}
return standardHeight;
}
Однако каждый раз, когда я бег, я пойман в каком-то цикле выполнения, где приложение сохраняет отскакивая назад между первой линией этого метода и стартом, если пока он не выйдет из строя.
Видео: http://f.cl.ly/items/2F1E3r2A2p0y1b2j3R14/debug.mov
Однако, если я использую что-то вроде этого (один из ответов в предыдущей теме), кажется, работает:
- (CGFloat)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath {
CGFloat rowHeight = 44.0f;
if (indexPath.row == 0) {
rowHeight -=1;
}
return rowHeight;
}
Что я делаю неправильно? Я просто не могу понять.
Что вы подразумеваете, получив его от моей модели? В этом случае я создаю очень мало ячеек (два, максимум, обычно один), так как это таблица для отображения служб для входа в систему. Сейчас для входа в систему доступны только две службы, поэтому он просто выбирает, что показывать на основе того, на которые вы еще не вошли. https://gist.github.com/anonymous/cdc55c17de14c97d9441 Должен ли я переопределить эту логику в другой метод? :/ –
очень интересное наблюдение @Cezar .. то, что вы сказали, имеет большое значение для меня в свете некоторых ошибок, с которыми я столкнулся в прошлом, которые я не мог объяснить. У вас есть официальная документация об этом или каком-то учебнике, в котором подчеркивается этот факт? Я дал вам свой +1, либо – abbood
@DougSmith, который вы могли бы реализовать эту логику в другом методе и называть его как из таблицы: heightForRowAtIndexPath: 'и' numberOfRowsInSection'. Более того, вы могли бы вызвать этот метод, когда вы инициализируете свой «TableViewController» и сохраняете информацию об услугах, к которым пользователь еще не вошел в систему, в свой «TableViewController». – Cezar