UIPickerView с двумя компонентами падает при прокрутке обоих

У меня есть UIPicker View с 2 компонентами. Заголовок для строк каждого компонента находится в взаимосвязи, то есть текст и количество строк во 2-м компоненте будут меняться в соответствии с выбранной строкой в ​​1-м компоненте.

Теперь проблема в том, что, когда я прокручиваю два компонента вместе, мое приложение вылетает.

Я предполагаю, что причина в том, что когда 1-й компонент прокручивается, предполагаемое количество строк во 2-м компоненте постоянно меняется, но в то же время UIPickerView запрашивает заголовок и номер для 2-го компонента, а затем происходит сбой.

Но я не нашел ни одного метода, который можно было бы использовать для оценки прокрутки компонента. Поэтому я не могу найти правильное время, чтобы отклонить запрос делегата и источника данных pickerView для 2-го компонента.

Что я должен сделать?

1 ответ

Решение

Я бегу к той же проблеме, и я думаю о соединении двух опций в одну строку, которая может быть помещена в массив для UIPicker. Таким образом, будет только 1 компонент. Может быть, вы должны сделать то же самое?
Другое решение, которое может быть полезным, я нашел здесь
Но основная идея для выбора 2 зависимых компонентов состоит в том, чтобы иметь 2 массива: первый для левого компонента и второй для правого. Каждый раз, когда пользователь выбирает левый компонент, массив для правой стороны пополняется в соответствии с выбором левой стороны.

Другие вопросы по тегам