Как указано выше, вы не можете использовать объекты после того, как они были освобождены.Смещение происходит, когда их retainCount
обращается в ноль.Если по какой-либо причине вы не можете удалить этот звонок [foo release]
, вы должны позвонить [foo retain]
заранее.Вы также можете попробовать позвонить по номеру [foo autorelease]
вместо [foo release]
, если ваше второе использование вскоре после.
Существует очень хорошее руководство по управлению памятью в Objective-C здесь: Стэнфордская лекция cs193p 4