Класс: дескриптор
Создание прослушивателя событий без привязки к источнику событий
eL = listener(hSource,EventName,callback)
eL = listener(hSource,PropertyName,EventName,callback)
создает прослушиватель для события с именем eL = listener(hSource,EventName,callback)EventName. hSource является объектом-дескриптором, который является источником события. callback - дескриптор функции, вызываемый MATLAB ® при запуске события .
Если hSource является массивом объектов-источников событий, прослушиватель реагирует на именованное событие для любого объекта в массиве, который не находится в удаленном состоянии.
создает прослушиватель для одного из предопределенных событий свойств. Существует четыре предопределенных события свойств:eL = listener(hSource,PropertyName,EventName,callback)
| Имя события | Событие происходит |
|---|---|
PreSet | Непосредственно перед установкой значения свойства перед вызовом метода доступа set |
PostSet | Сразу после установки значения свойства |
PreGet | Непосредственно перед обслуживанием запроса значения свойства перед вызовом метода доступа get |
PostGet | Сразу после возврата значения свойства в запрос |
Чтобы удалить прослушиватель, удалите объект прослушивателя, возвращенный listener. Например, эта инструкция вызывает класс дескриптора delete для удаления прослушивателя.
delete(el)
Вызов delete для объекта прослушивателя уничтожает прослушиватель и, следовательно, событие больше не вызывает выполнение функции обратного вызова.
listener метод не привязывает жизненный цикл прослушивателя к объекту, являющемуся источником события. Уничтожение исходного объекта события не влияет на жизненный цикл объекта прослушивателя.
Необходимо явно уничтожить прослушиватели, созданные с помощью listener независимо от исходного объекта. Вызов метода удаления дескриптора для переменной прослушивателя (например, delete(el)) явно уничтожает прослушиватель. Переопределение или удаление переменной, содержащей прослушиватель, может удалить прослушиватель, если на него нет других ссылок. Чтобы привязать жизненный цикл прослушивателя к жизненному циклу исходного объекта события, используйте addlistener.
Использовать addlistener если вы хотите, чтобы MATLAB управлял жизненным циклом прослушивателя.