プロパティのコンピューティング(計算)とオブザービング(監視)能力は、グローバル変数とローカル変数においても利用可能です。グローバル変数は、関数やメソッド、クロージャ、型のコンテキスト外で定義された変数です。ローカル変数は、関数やメソッド、クロージャのコンテキスト内で定義された変数です。

これまでに見たグローバル変数とローカル変数は、すべてストアド変数でした。ストアド変数は、ストアドプロパティのように、ある型の値のストレージで、値を読み書きすることができます。

一方で、グローバルまたはローカルどちらのスコープでも、コンピューテッド変数を定義したり、ストアド変数にオブザーバを定義したりすることも可能です。コンピューテッド変数は値を保管せずに算出し、コンピューテッドプロパティと同じように記述します。

NOTE

グローバル定数やグローバル変数は、Lazy Stored Properties と同じように、常に遅延して算出されます。遅延ストアドプロパティと異なり、グローバル定数やグローバル変数は、lazy を付ける必要はありません。

ローカル定数とローカル変数が遅延して算出されることはありません。


Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.