Over-release это ситуация, когда мы пытаемся работать с уже уничтоженным объектом.
Обычно это приводит к не особо внятному дебаг-сообщению. Понятно что примерно случилось, но не ясно где.
![]() |
Сообщение об ошибке при попытке обращению к уничтоженному объекту |
Так что для отлова таких косяков очень полезно использовать зомбарей!
Заходим в Product->Scheme->Edit Scheme... или просто жмём ⌘ + <.
![]() |
Edit Scheme |
Там находим пункт Run <your_app_name> и ставим галку рядом с Enable Zombie Objects. Теперь objective-c объекты не будут выгружаться из памяти, вместо этого они будут правильным образом ругаться на попытку взаимодействия с ними и останавливать на себе выполнение приложения.
![]() |
Ставший зобмарём объект ругается на то, что к нему пытаются обратиться |
Комментариев нет:
Отправить комментарий