Также убедитесь, что вы инициализировали все указатели до нуля, прежде чем использовать их!
Если вы используете указатель, не инициализируя его нулем или любым другим объектом, вы, вероятно, получите доступ к памяти, которая не принадлежит вам.
Например, следующий код также даст EXC_BAD_ACCESS, который невозможно отследить с помощью флага NSZombieEnabled, вызванного последней строкой.
RecordingLocation* closest;
//find the closest recording location
for (...)
{
//try to find the closest object...
//suppose we don't find anything so closest is never set.
}
if (closest!=nil)
NSLog(@"Closest: %f,%f",closest.x,closest.y);