2009-08-06 2 views
0

У меня есть объект, который является дочерним элементом UIImageView. Перед всеми этими методами касания я добавляю этот объект в супервизор, а затем пользователь перемещает его. В touchesEnded, иногда я хочу освободить себя. Я пробовал:Как освободить себя (UIImageView) в touchesEnded?

- [self release] 

или

- [self removeFromSuperview] 

Но все эти попытки в конечном итоге в исключения. Каков правильный способ освобождения себя?

+1

У вас нет. Когда вы добавляете супер-представление, убедитесь, что он автореализован или отменил ссылку сразу после ее добавления. Когда вы сделаете [self removeFromSuperview], супер-просмотр выведет его для вас. –

+1

Вот что я сделал! Я только нашел, где проблема. Я переместил [super dealloc] в метод dealloc с первой строки на дно dealloc, и теперь он работает :) Спасибо –

+0

О да, [super dealloc] всегда должен быть последним в вашем методе dealloc, иначе ваш объект будет уйти, когда метод вернется :) –

ответ

0

Вы не можете освободить себя. self является основным видом, и если вы хотите удалить объект из UIImageView, вам необходимо удалить его с помощью этого имени объекта. [objNameSubViewOFUIImageView removeFromSuperview]