Ошибка: *** - [CALayer retain]: сообщение отправлено на освобожденный экземпляр 0xdaa54d0 - PullRequest
1 голос
/ 14 марта 2011

Я работаю над простым приложением для iPhone. где я работаю над двумя взглядами. Сначала я нажал на другой контроллер вида, и когда я удаляю текущий вид, чтобы вернуться к старому контроллеру вида, я получаю [CALayer retain]. EXEC_BAD_ACCESS.

В gdb я попробовал команду backtrace, чтобы увидеть проблему, которую я дал ниже, но я не могу ее найти. Если кто-то может помочь мне с этим, это будет здорово.

(GDB) Backtrace

#0  0x02e21434 in ___forwarding___ ()
#1  0x02e209f2 in __forwarding_prep_0___ ()
#2  0x02dc7f58 in CFRetain ()
#3  0x02dc7a65 in CFArrayCreate ()
#4  0x02dfe043 in -[__NSPlaceholderArray initWithObjects:count:] ()
#5  0x0296eda3 in -[CALayerArray copyWithZone:] ()
#6  0x02ea380a in -[NSObject copy] ()
#7  0x004f742a in -[UIView dealloc] ()
#8  0x00214cb2 in NSPopAutoreleasePool ()
#9  0x004d3698 in _UIApplicationHandleEvent ()
#10 0x035fe17c in PurpleEventCallback ()
#11 0x02df289c in CFRunLoopRunSpecific ()
#12 0x02df18a8 in CFRunLoopRunInMode ()
#13 0x035fc89d in GSEventRunModal ()
#14 0x035fc962 in GSEventRun ()
#15 0x004d1372 in UIApplicationMain ()
#16 0x00002074 in main (argc=1, argv=0xbffff020) at /Users/jtong/Desktop/Elle/main.m:14

Спасибо, Абы

Ответы [ 2 ]

2 голосов
/ 14 марта 2011

Звучит так, как будто вы также явно выпускаете что-то, что вы уже выпустили автоматически.

0 голосов
/ 14 марта 2011

Используйте инструменты и включите зомби.Это будет отслеживать, где каждый объект был сохранен и выпущен, и, черт возьми, вы диагностируете, где происходит дополнительный выпуск.

Как запустить программу iPhone с инструментом Zombies?

...