Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.10.2014, 13:13
Vlad84 вне форума Посмотреть профиль Отправить личное сообщение для Vlad84 Найти все сообщения от Vlad84
  № 1  
Ответить с цитированием
Vlad84

Регистрация: Jul 2012
Сообщений: 148
По умолчанию Удаление лисенеров

Поймал себя на мыли что всегда перед тем как поставить лисенер на событие, я проверяю нет ли уже такого и удаляю его если есть.

Код AS3:
if(stream.hasEventListener(NetStatusEvent.NET_STATUS)){
	stream.removeEventListener(NetStatusEvent.NET_STATUS, streamStatus);
}
stream.addEventListener(NetStatusEvent.NET_STATUS, streamStatus);
Вопрос: это вообще нужно делать?

Старый 24.10.2014, 13:31
ObOs вне форума Посмотреть профиль Отправить личное сообщение для ObOs Найти все сообщения от ObOs
  № 2  
Ответить с цитированием
ObOs
 
Аватар для ObOs

Регистрация: Jul 2009
Сообщений: 149
Зачем его удалять если вы его хотите поставить? Устанавливайте слушатель если его нет.
Код AS3:
if(!stream.hasEventListener(NetStatusEvent.NET_STATUS))
{
	stream.addEventListener(NetStatusEvent.NET_STATUS, streamStatus);
}

Старый 24.10.2014, 13:47
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 3  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
addEventListener осуществляет проверку внутри себя на наличие пары типСобытия-коллбэк (ключ-значение). Он не добавит повторно тот же слушатель к тому же событию того же диспатчера, поэтому такие проверки излишни, если не являются логически и архитектурно обоснованными (например нужно, чтобы был прицеплен либо один коллбэк, либо другой), однако такая ситуация кажется мне чересчур надуманной.
__________________
тут я

Старый 24.10.2014, 19:40
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
ObOs, а если на это событие уже зарегистрирован слушатель, но другой?
__________________
Reality.getBounds(this);

Старый 27.10.2014, 10:52
ObOs вне форума Посмотреть профиль Отправить личное сообщение для ObOs Найти все сообщения от ObOs
  № 5  
Ответить с цитированием
ObOs
 
Аватар для ObOs

Регистрация: Jul 2009
Сообщений: 149
Цитата:
Сообщение от Wolsh Посмотреть сообщение
ObOs, а если на это событие уже зарегистрирован слушатель, но другой?
То, конечно, так не проканает.
Да, и мы вроде выяснили что приведенная мной проверка в данной ситуации бессмысленна, т.к.
Цитата:
Сообщение от КорДум Посмотреть сообщение
addEventListener осуществляет проверку внутри себя на наличие пары типСобытия-коллбэк (ключ-значение). Он не добавит повторно тот же слушатель к тому же событию того же диспатчера, поэтому такие проверки излишни
И ТС, вроде бы, ничего не говорил про несколько слушателей.

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:29.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.