Main Content

속성값에 대한 변경 사항 관측하기

이 예제에서는 속성값에 대한 변경 사항을 수신 대기하는 방법을 보여줍니다. 이 예제에서는 다음을 사용합니다.

  • 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은 이 함수를 호출할 때 다음 두 개의 인수를 전달합니다.

이러한 인수는 속성과 이벤트에 대한 정보를 제공합니다.

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

참고 항목

| |

관련 항목