#objective-c #textfield #resignfirstresponder #crash
#objective-c #текстовое поле #отказать первому ответчику #сбой
Вопрос:
у меня есть табличное представление с ячейками, содержащими текстовые поля в нем.
в таблице более 20 строк.
когда я ввожу что-то в текстовые поля и прокручиваю после сбоя моего приложения, я получаю эту ошибку.
message sent to deallocated instance
#0 0x00f5e09b in objc_msgSend ()
#1 0x040cfb5a in dyld_stub_strlcat ()
#2 0x001190d6 in -[UIResponder resignFirstResponder] ()
#3 0x000e097f in -[UITextField resignFirstResponder] ()
#4 0x00119293 in -[UIResponder becomeFirstResponder] ()
#5 0x002e1961 in -[UITextInteractionAssistant setFirstResponderIfNecessary] ()
#6 0x002e45e2 in -[UITextInteractionAssistant oneFingerTap:] ()
#7 0x002db4f2 in -[UIGestureRecognizer _updateGestureWithEvent:] ()
#8 0x002d74fe in -[UIGestureRecognizer _delayedUpdateGesture] ()
#9 0x002ddafc in _UIGestureRecognizerUpdateObserver ()
#10 0x002ddce1 in _UIGestureRecognizerUpdateGesturesFromSendEvent ()
#11 0x0007132a in -[UIWindow _sendGesturesForEvent:] ()
#12 0x0006cca3 in -[UIWindow sendEvent:] ()
#13 0x0004fc37 in -[UIApplication sendEvent:] ()
#14 0x00054f2e in _UIApplicationHandleEvent ()
#15 0x01031992 in PurpleEventCallback ()
#16 0x00dd9944 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#17 0x00d39cf7 in __CFRunLoopDoSource1 ()
#18 0x00d36f83 in __CFRunLoopRun ()
#19 0x00d36840 in CFRunLoopRunSpecific ()
#20 0x00d36761 in CFRunLoopRunInMode ()
#21 0x010301c4 in GSEventRunModal ()
#22 0x01030289 in GSEventRun ()
#23 0x00058c93 in UIApplicationMain ()
#24 0x00001cd9 in main (argc=1, argv=0xbffff058) at main.m:14
(gdb)
Я был бы признателен за любую помощь, которую кто-либо может предложить.
Ответ №1:
Эта ошибка возникает при попытке доступа к освобожденному объекту.
Из вашего опубликованного стека кажется, что вы пытаетесь вызвать метод resignFirstResponder
of UITextField
.
Проверьте все свои UITextField
экземпляры или добавьте еще немного исходного кода.