Swift static和class理解

Static

对比OC ,OC的理解还是比较简单 :

对于用static修饰的内容,这部分内容会放在静态区. 这部分的内容只初始化一次,在程序结束的时候释放
没有用static修饰的内容,会放在堆栈中处理,在调用时分配与释放

static和class

Swift的理解

swift有点不理解,这里要结合class去理解,这和OC有点不一样,在这里面,需要注意的是.
Swift中的static也有静态的思想在里面.但是更多的会需要考虑的点,
Swift中的static修饰更多起一个防止重写父类属性或者方法的一个作用.

更加简单粗暴的理解是  : 
用static修饰,父类属性和方法无法修改,等价于class final修饰
用class修饰,父类属性和方法可以修改

参考 : The Swift Programming Language 中文版 - v1.8.pdf
下载地址 : The Swift Programming Language 中文离线版的PDF,第164页的解释

static和class

在Swifter-Swift 开发者必备 Tips (第四版)中提到


static和class

参考 :
OC和Swift中的static
Swift_关键字static和class的区别
STATIC 和 CLASS
static及其作用域

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。