diff --git a/source/chapter2/10_Properties.md b/source/chapter2/10_Properties.md index 577b223c..b38971cc 100644 --- a/source/chapter2/10_Properties.md +++ b/source/chapter2/10_Properties.md @@ -268,5 +268,18 @@ stepCounter.totalSteps = 896 > > 如果在`didSet`监视器里为属性赋值,这个值会替换监视器之前设置的值。 -##全局和本地变量 +##全局变量和局部变量 +计算属性和属性监视器所描述的模式也可以用于全局变量和局部变量,全局变量是在函数、方法、闭包或任何类型之外定义的变量,局部变量是在函数、方法或闭包内部定义的变量。 + +前面章节提到的全局或局部变量都属于存储型变量,跟存储属性类似,它提供特定类型的存储空间,并允许读取和写入。 + +另外,在全局或局部范围都可以定义计算型变量和为存储型变量定义监视器,计算型变量跟计算属性一样,返回一个计算的值而不是存储值,声明格式也完全一样。 + +> 注意 +> +> 全局的常量或变量都是延迟计算的,跟[延迟存储属性](#)相似,不同的地方在于,全局的常量或变量不需要标记`@lazy`特性。 +> +> 局部范围的常量或变量不会延迟计算。 + +##类属性 \ No newline at end of file