Nano Hash - криптовалюты, майнинг, программирование

Произвольное табличное представление вызывает сбой в iPhone5 (iOS7)

В моем приложении я использую две таблицы: одну для фильтрации данных, а вторую для данных результатов. Я использую следующую строку для прокрутки таблицы в выбранной позиции индекса,

self.indexPaths = [NSIndexPath indexPathForRow:0 inSection:indexPath.row];

 [tableview scrollToRowAtIndexPath:self.indexPaths atScrollPosition:UITableViewScrollPositionTop animated:YES];

    [tableview reloadData];

но мое приложение дает сбой только на iPhone5 (iOS7) и нормально работает на всех устройствах, даже на iPhone5 (iOS6).

Почему это происходит только на iPhone5 (iOS7)?

Журнал сбоев: Завершение работы приложения из-за неперехваченного исключения 'NSInvalidArgumentException'


  • Когда вы задаете вопросы о сбоях, полезно включить журнал сбоев в вопрос. 04.12.2013
  • Обычно эта ошибка сообщает вам, какой недопустимый аргумент был передан какому объекту в каком методе, что указывало бы на корень проблемы, как предполагают текущие ответы. 04.12.2013

Ответы:


1

Вы передаете целое число (0) для индексного пути. Вместо этого вы должны передать NSIndexPath, попробуйте:

    NSIndexPath *ip = [NSIndexPath indexPathForRow:0 inSection:0];
    [tableview scrollToRowAtIndexPath:ip atScrollPosition:UITableViewScrollPositionTop animated:NO];
04.12.2013

2

NSIndexPath — это объект, поэтому вы не можете передать 0.

Попробуйте [NSIndexPath indexPathWithIndex:0]

04.12.2013

3
self.indexPaths = [NSIndexPath indexPathForRow:0 inSection:indexPath.row];

RHS возвращает indexpath, соответствующий строке и разделу.

в приведенном выше коде вы передаете параметр indexpath.row в inSection. Это может быть неправильно. Предположим, у вас есть 1 раздел и 5 строк. когда indexpath.row = 4 (например), не будет раздела, соответствующего 4, и, следовательно, self.indexPaths станет nil, так как система попытается найти строку 4 в разделе 4, но раздел 4 не существует!! Следовательно, когда вы передаете nil в нижнюю строку, это говорит об исключении nsinvalidargument.

 tableview scrollToRowAtIndexPath:self.indexPaths atScrollPosition:UITableViewScrollPositionTop animated:YES];
04.12.2013
  • Спасибо за ваш ответ, но он отлично работает на всех устройствах, кроме iPhone5. 04.12.2013
  • может быть конкретная строка, к которой вы пытаетесь прокрутить, находится вне поля зрения и, следовательно, недоступна! 04.12.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..