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页的解释
在Swifter-Swift 开发者必备 Tips (第四版)中提到
static和class
参考 :
OC和Swift中的static
Swift_关键字static和class的区别
STATIC 和 CLASS
static及其作用域
网友评论