автозамена в UISearchBar мешает, когда я нажимаю didSelectRowAtIndexPath

У меня есть панель поиска, которая обычно работает . Проблема возникает, когда я тестирую на iPhone, автозамена срабатывает. У меня есть панель поиска, настроенная так, что если в строке запроса есть текст длиной> 4, он начинает помещать вещи в массив searchResults. Если есть предложение автокоррекции, и я игнорирую его и выбираю что-то из массива, приложение вылетает. Я отследил ошибку до того факта, что слово с автокоррекцией выбирается до выбора строки (но оба выполняются), поэтому массив searchResults, к которому, как я думал, я обращался, больше не действителен.

Например, я ввел "demp" в строку поиска. Автозамена предлагает «демо». Между тем, поиск возвращает несколько результатов с словом «dempster». Выбираю первое. Когда я это делаю, поиск выполняет повторный поиск в разделе «демо» и очищает исходный массив (имейте в виду, что я обращаюсь к серверу для поиска, чтобы массив не был повторно заполнен). Затем срабатывает метод didSelectRowAtIndexRow, и в массиве ничего нет, и он аварийно завершает работу.

Есть мысли? Заранее спасибо.

9
задан Nelson Ko 22 December 2011 в 18:56
поделиться