Приятно знать, спасибо! Но если я не выпущу их в dealloc, это вызовет утечку, но это не вызовет EXC_BAD_ACCESS, верно?

ите, я уже несколько недель взломаю это! У меня есть это приложение, которое я разрабатываю в симуляторе, и я сделал много вещей с пользовательским интерфейсом, это только начало интересной части с данными. Это началось сразу после запуска, примерно в 90% случаев, когда я его запускаю, это вызовет исключение EXC_BAD_ACCESS.

Я закомментировал все свои сообщения о выпуске и даже добавил некоторые сохраняемые сообщения, чтобы убедиться, что это не то, что переиздано. Странно то, что иногда что-то, что я делаю в коде, заставляет это работать, тогда это работает, пока я не сделаю другое изменение кода. Затем я комментирую новый код, который я добавил, и он все еще падает.

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

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

0 objc_msgSend
1 ??
2 _CFAutoReleasePoolPop
3 -[NSAutoReleasePool release]
4 _UIApplicationHandleEvent
5 PurpleEventCallback
6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__
7 __CFRunLoopDoSource1
8 __CFRunLoopRun
9 CFRunLoopRunSpecific
10 CFRunLoopRunInMode
11 -[UIApplication _run]
12 UIApplicationMain
13 main

Еще несколько фактов:

Я установил NSZombieEnabled, который не имеет значения в выводе консолиЯ запускал инструменты, используя профиль Leaks, он не показывал никаких утечек

Ответы на вопрос(2)

Ваш ответ на вопрос