Код выглядит (почти) правильно с первого взгляда.Но вы должны куда-то выпускать контент, но вряд ли из-за этого произойдет ExcBadAccess.
Так что, чтобы выследить это, я бы предложил использовать NSZombies.NSZombies предотвращает освобождение ваших объектов, они просто помечаются как освобожденные (то есть превращаются в зомби).
- Откройте группу
Executable
на боковой панели xcode (3.x) - Щелкните правой кнопкой мыши и
Get Info
на исполняемом файле - Откройте
Arguments
tab - Добавьте переменную окружения в
Variables to be set in the environment
- Назовите ее
NSZombieEnabled
и установите для нее значение YES
.Убедитесь, что он активирован - Запустите ваш код с включенными точками останова, пока объект зомби не будет назван
Когда вы знаете, где это происходит, вы можете лучше выяснить, почему это происходит.