속성값에 대한 변경 사항 관측하기
이 예제에서는 속성값에 대한 변경 사항을 수신 대기하는 방법을 보여줍니다. 이 예제에서는 다음을 사용합니다.
MATLAB®에 의해 미리 정의된
PostSet
이벤트속성
PostSet
이벤트 트리거를 활성화하는SetObservable
속성 특성리스너를 생성하는
addlistener
핸들 클래스 메서드
classdef PropLis < handle % Define a property that is SetObservable properties (SetObservable) ObservedProp = 1 end methods function attachListener(obj) %Attach a listener to a PropListener object addlistener(obj,'ObservedProp','PostSet',@PropLis.propChange); end end methods (Static) function propChange(metaProp,eventData) % Callback for PostSet event % Inputs: matlab.metadata.Property object, event.PropertyEvent h = eventData.AffectedObject; propName = metaProp.Name; disp(['The ',propName,' property has changed.']) disp(['The new value is: ',num2str(h.ObservedProp)]) disp(['Its default value is: ',num2str(metaProp.DefaultValue)]) end end end
PropLis
클래스는 일반 메서드(attachListener
)를 사용하여 ObservedProp
속성에 대한 리스너를 추가합니다. PropLis
클래스가 생성자를 정의하는 경우 이 생성자는 addlistener
에 대한 호출을 포함할 수 있습니다.
리스너 콜백은 정적 메서드(propChange
)입니다. MATLAB은 이 함수를 호출할 때 다음 두 개의 인수를 전달합니다.
metaProp
—ObservedProp
에 대한matlab.metadata.Property
객체eventData
— 이벤트 관련 데이터를 포함하는event.PropertyEvent
객체
이러한 인수는 속성과 이벤트에 대한 정보를 제공합니다.
PropLis
클래스를 사용하기 위해 인스턴스를 생성하고 이 인스턴스의 attachListener
메서드를 호출합니다.
plObj = PropLis; plObj.ObservedProp
ans = 1
plObj.attachListener plObj.ObservedProp = 2;
The ObservedProp property has changed. The new value is: 2 Its default value is: 1
참고 항목
event.proplistener
| addlistener
| listener