Сбой приложения Objective C «сообщение отправлено освобожденному экземпляру 0x ..» - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть табличное представление с ячейками, содержащими текстовые поля.

В таблице более 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 Ответ

3 голосов
/ 09 ноября 2011

Эта ошибка возникает при попытке доступа к освобожденному объекту.

Из вашего опубликованного стека кажется, что вы пытаетесь вызвать метод resignFirstResponder из UITextField.

Проверьте все ваши UITextField экземпляры или добавьте еще немного исходного кода.

...