Сбой панели пользовательского поиска при касании

#iphone #objective-c #cocoa-touch #crash #uisearchbar

#iPhone #objective-c #cocoa-touch #сбой #панель пользовательского поиска

Вопрос:

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

У меня есть этот метод, при котором он выходит из строя. Есть идеи?

 [self.billingSearchPopoverController presentPopoverFromRect:[self.billingSearchBar bounds] inView:self.billingSearchBar permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
  

Ответ №1:

Убедитесь, что вы не выпустили billingSearchPopoverController преждевременно.

Комментарии:

1. Я не получаю никакого журнала консоли, хотя у меня включены NSZombies. Я получаю это в трассировке стека, хотя 0x00003c8f _Z16TerminateHandlerv 34

2. Я выпускаю только billingSearchPopoverController при освобождении.

3. Хммм.. Таким образом, вы ничего не получаете в консоли при сбое. Не видя больше кода, я бы порекомендовал вам использовать точки останова и пошагово просматривать приложение. Если вы не работаете на устройстве, в этом случае я бы посмотрел на ваш объем памяти.

4. Я установил точки останова. Вот как я сузил его до одной строки, которую я опубликовал в вопросе.

5. А, ладно. Единственное, что я могу подумать, это то, что что-то происходит с вашей панелью поиска после первого поиска. Попробуйте изменить эту часть «[self.billingSearchBar bounds]» на [self.view frame] . Конечно, это не даст желаемого эффекта, но это поможет вам сузить область поиска; если он выйдет из строя, вы знаете, что проблема связана с панелью поиска.