Вы обнуляете свойство панели инструментов преждевременно - viewDidUnload будет вызываться перед dealloc, таким образом, у dealloc не будет возможности отпустить кнопку, потому что toolBar
указывает на nil, а не на объект (который будетостаются в собственности (количество выпусков не менее 1), но без ссылки).
Плюс, поскольку вы не используете точечную запись (self.toolBar
) для обнуления свойства, счетчик выпусков старых объектов не будетбыть уменьшенным!Таким образом, число сохраняемых им элементов равно как минимум 2 на момент выхода из контроллера.
Я бы выпустил объект сразу после присвоения его свойству, потому что метод setter сохранил его в любом случае (если вы решите сохранитьэто в декларации).Позже в viewDidUnload все, что вам нужно сделать, это self.toolBar = nil;
, чтобы действительно избавиться от него.