Описание тега exc-bad-access
EXC_BAD_ACCESS - фатальная ошибка, связанная с управлением памятью в macOS и iOS.
Это своего рода сбой, который происходит, когда программа пытается получить доступ к памяти (включая, но не ограничиваясь ими, объекты Objective-C), которые она освободила или никогда не выделяла изначально.
Правильное имя EXC_BAD_ACCESS
не EXEC
; "EXC
"Означает" исключение ", а именно исключение ядра Mach (это означает, что ядру не нравится то, что делает ваш процесс; это не то же самое, что паника ядра). Это не исключение C++ или Objective-C, поэтому его не уловить.
EXC_BAD_ACCESS
означает, что вы освободили или освободили объект, а затем попытались использовать его позже, или не смогли сохранить объект, который планировали использовать позже.
Чтобы предотвратить появление этой ошибки:
- Практикуйте хорошее управление памятью
- Запустите статический анализатор в Xcode, чтобы найти ошибки
- Запустите инструменты с шаблоном Zombies, чтобы найти ошибки преждевременной смерти объекта