App Designer アプリ内でのデータの共有
プロパティはアプリ内のすべての関数およびコールバックからアクセスできるため、アプリ内でデータを共有するための最適な方法はプロパティを使用することです。すべての UI コンポーネントはプロパティであるため、この構文を使用して、コールバック内の UI コンポーネントにアクセスして更新できます。
app.Component.Property
たとえば、次のコマンドはゲージの Value
プロパティを取得および設定します。この例では、ゲージの名前は PressureGauge
です。
x = app.PressureGauge.Value; % Get the gauge value app.PressureGauge.Value = 50; % Set the gauge value to 50
ただし、中間結果、または複数のコールバックがアクセスする必要があるデータを共有する場合は、パブリック プロパティまたはプライベート プロパティを定義してデータを格納します。パブリック プロパティはアプリの内部および外部の両方からアクセスでき、プライベート プロパティはアプリの内部からのみアクセスできます。
プロパティの定義
[コード ビュー] は、プロパティを作成するためのいくつかの異なる方法を提供しています。
[エディター] タブの [プロパティ] ボタンの下半分からドロップダウン メニューを展開します。[プライベート プロパティ] または [パブリック プロパティ] を選択します。
[コード ブラウザー] の [プロパティ] タブをクリックして、 ボタンのドロップダウン リストを展開し、[プライベート プロパティ] または [パブリック プロパティ] を選択します。
プロパティを作成するオプションを選択すると、App Designer によってプロパティの定義とコメントが properties
ブロックに追加されます。
properties (Access = public) Property % Description end
properties
ブロックは編集可能であり、プロパティの名前を変更したり、プロパティを説明するコメントを編集したりできます。たとえば、次のプロパティは平均コストの値を格納します。
properties (Access = public) X % Average cost end
アプリの起動時にコードがプロパティ値にアクセスする必要がある場合は、properties
ブロックまたは startupFcn
コールバックでその値を初期化できます。
properties (Access = public) X = 5; % Average cost end
プロパティに保存可能な値の型を制限するには、プロパティ定義内でデータ型をプロパティに関連付けます。たとえば次のコードでは、X
に代入される値が double
と互換性をもつ型でなければならないこと、また代入値がすべて double
として保存されることが求められます。
properties (Access = public) X double % Average cost end
プロパティへのアクセス
プロパティを定義したら、構文 app.
PropertyName
を使用して、アプリ コード内の場所を問わずプロパティ値にアクセスし設定することができます。
y = app.X % Get the value of X app.X = 5; % Set the value of X
例: プロット データおよびドロップダウン リストの選択肢の共有
次のアプリは、プライベート プロパティおよびドロップダウン リストのデータを共有する方法を示しています。このアプリには、プロット データを格納する Z
というプライベート プロパティがあります。ユーザーがサンプルのサイズを変更すると、編集フィールドのコールバック関数によって Z
が更新されます。[Update Plot] ボタンのコールバック関数は、Z
の値とカラーマップの選択肢を取得してプロットを更新します。