#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] . Конечно, это не даст желаемого эффекта, но это поможет вам сузить область поиска; если он выйдет из строя, вы знаете, что проблема связана с панелью поиска.