Swift基础语法: 27 - Swift的全局变量和局部变量, 类型属性, 获取和设置类型属性的值

前面我们基本上把Swift的基本内容过了一边, 但这并不足以让我们在开发中良好的运用, 现在让我们继续来往下学习吧:


1.全局变量和局部变量

在前面我们讲解了计算属性和属性监视器, 它们所描述的模式也是可以用于全局变量和局部变量, 所谓的全局变量和局部变量其实是和OC中里的一致, 没有多大区别,

并且全局或局部变量都属于存储型变量, 跟存储属性类似, 它提供特定类型的存储空间, 并允许读取和写入。

另外, 在全局或局部范围都可以定义计算型变量和为存储型变量定义监视器,计算型变量跟计算属性一样, 返回一个计算的值而不是存储值, 声明格式也完全一样。

PS: 全局的常量或变量都是延迟计算的, 跟延迟存储属性相似, 不同的地方在于, 全局的常量或变量不需要标记 lazy 特性; 局部范围的常量或变量不会延迟计算。


2.类型属性

在我们实际开发中, 实例的属性是属于特殊的类型属性, 同时也可以为类型本身定义属性, 不管类型有多少个实例,这些属性都只有唯一一份, 这种属性就是类型属性。

类型属性用于定义特定类型所有实例共享的数据,比如所有实例都能用的一个常量, 或者所有实例都能访问的一个变量.

对于值类型(指结构体和枚举)可以定义存储型和计算型类型属性, 对于类(class)则只能定义计算型类型属性, 值类型的存储型类型属性可以是变量或常量, 计算型类型属性跟实例的计算属性一样定义成变量属性.

PS: 跟实例的存储属性不同,必须给存储型类型属性指定默认值,因为类型本身无法在初始化过程中使用构造器给类型属性赋值。


3.类型属性语法

在 C 或 Objective-C 中, 静态常量和静态变量的定义是通过特定类型加上 global 关键字, 在 Swift 编程语言中, 类型属性是作为类型定义的一部分写在类型最外层的花括号内, 因此它的作用范围也就在类型支持的范围内.

使用关键字 static 来定义值类型的类型属性,关键字 cla

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值