![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 12
|
Доброго времени суток.
Передо мной задача: создать объект, который должен существовать несмотря на отсутствие ссылок на него. Код класса: class SomeClass {
private var button:Button = new Button();
SomeClass(onBtnPress:Function) {
button.addEventListener(MouseEvent.CLICK, onBtnPress);
}
}
...
function CreateSomeObject():void {
eventHandler = function():void {
// Do something
removeEventListener(MouseEvent.CLICK, eventHandler);
}
var tmp:SomeClass = new SomeClass(eventHandler);
}
Будет ли помечен объект на удаление после вызова removeEventListener в обработчике eventHandler? Последний раз редактировалось Majus; 14.07.2008 в 17:57. |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,155
|
Не будет, при выходе из CreateSomeObject() будет потерянна ссылка на tmp. И вообще, зачет такая извратная конструкция?
|
|
|||||
|
Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 12
|
Не хочу создавать отдельную переменную для ссылки на этот объект, она не нужна.
|
|
|||||
|
Modus ponens
|
мама... что это? зачем?..
может проще объяснить зачем это нужно?.. а то то, что есть - это что-то за пределами добра и зла...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 12
|
Я вижу код вызывает удивление. Вообще на C++ я часто пользуюсь таким приемом - создаю объект и поручаю ему работать и удалять себя самостоятельно. Здесь же... Здесь так не принято, по всей видимости.
|
|
|||||
|
Относительно недавно была длинная тема почему объект не может удалить сам себя.
По-моему даже в этом разделе, сходу не нашел
__________________
Сам себе репортер |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|