Compartir datos dentro de apps de App Designer
Utilizar propiedades es la mejor forma de compartir datos dentro de una app, ya que las propiedades son accesibles a todas las funciones y callbacks de una app. Todos los componentes de la IU son propiedades, por lo que puede utilizar esta sintaxis para acceder a y actualizar componentes de la IU dentro de los callbacks:
app.Component.Property
Por ejemplo, estos comandos obtienen y establecen la propiedad Value
de un indicador de aguja. En este caso, el nombre del indicador de aguja es PressureGauge
.
x = app.PressureGauge.Value; % Get the gauge value app.PressureGauge.Value = 50; % Set the gauge value to 50
Sin embargo, si quiere compartir un resultado intermedio o datos a los que tienen que acceder múltiples callbacks, defina una propiedad pública o privada para guardar los datos. Las propiedades públicas son accesibles tanto dentro como fuera de la app, mientras que las propiedades privadas solo son accesibles dentro de la app. Code View proporciona algunas formas distintas de crear una propiedad:
Amplíe el menú desplegable desde la mitad inferior del botón Property en la pestaña Editor. Seleccione Private Property o Public Property.
Haga clic en la pestaña Properties en el Code Browser, amplíe la lista desplegable en el botón
y seleccione Private Property o Public Property.
Después de seleccionar una opción para crear una propiedad, App Designer añade una definición y un comentario a un bloque properties
.
properties (Access = public) Property % Description end
El bloque properties
es editable, por lo que puede cambiar el nombre de la propiedad y editar el comentario para describirla. Por ejemplo, esta propiedad guarda un valor para el coste promedio:
properties (Access = public) X % Average cost end
Si el código necesita acceder a un valor de propiedad al iniciar la app, puede inicializar su valor en el bloque properties
o en el callback startupFcn
.
properties (Access = public) X = 5; % Average cost end
En el resto del código, utilice la notación de puntos o establezca el valor de una propiedad:
y = app.X % Get the value of X app.X = 5; % Set the value of X
Ejemplo: Compartir datos de gráficas y una selección de la lista desplegable
Esta app muestra cómo compartir datos en una propiedad privada y una lista desplegable. Tiene una propiedad privada llamada Z
que guarda datos de gráficas. La función de callback para el campo de edición actualiza Z
cuando el usuario cambia el tamaño de la muestra. La función de callback para el botón Update Plot obtiene el valor de Z
y la selección del mapa de color para actualizar la gráfica.