Main Content

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

ただし、中間結果、または複数のコールバックがアクセスする必要があるデータを共有する場合は、パブリック プロパティまたはプライベート プロパティを定義してデータを格納します。パブリック プロパティはアプリの内部および外部の両方からアクセスでき、プライベート プロパティはアプリの内部からのみアクセスできます。

プロパティの定義

[コード ビュー] は、プロパティを作成するためのいくつかの異なる方法を提供しています。

  • [エディター] タブの [プロパティ] ボタンの下半分からドロップダウン メニューを展開します。[プライベート プロパティ] または [パブリック プロパティ] を選択します。

    Property button options.

  • [コード ブラウザー][プロパティ] タブをクリックして、Plus ボタンのドロップダウン リストを展開し、[プライベート プロパティ] または [パブリック プロパティ] を選択します。

    Properties tab in the Code Browser. The tab contains a search bar to find properties, and a plus button to add a new property.

プロパティを作成するオプションを選択すると、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 の値とカラーマップの選択肢を取得してプロットを更新します。

関連するトピック