iOS开发,一些关键字的理解

2020-09-30  本文已影响0人  狂奔的蜗牛_

1-Static

在常用的iOS开发中,static一般有俩方面的作用:修饰局部变量和全局变量

1-1:修饰局部变量

1-1-1:让局部变量只初始化一次;

1-1-2:局部变量在程序中只有一份内存;

1-1-3:并不会改变局部变量的作用域,仅仅是改变了局部变量的生命周期(直到程序结束,这个局部变量才会销毁)。

1-2:修饰全局变量

 C语言中的全局变量,任何地方都可以访问。如果想在某个文件中获取全局变量的值,只需要在全局变量前用extern修饰即可,extern是引用变量,且引用变量的值从当前文件到其他文件中查找。因为iOS开发所用的OC语言是基于C语言的,全局变量的作用在iOS中是一样的。

1-2-1:全局变量的作用域仅限于当前文件,不能通过extern来引用。

这个有一个很好的好处就是:即使你在其他地方声明了一样的全局变量,用static修饰后就不会编译报错。

2-Const

通过const修饰的变量,在开发中不能进行修改,相当于常量,并且const只修饰其右边变量的值,且该值在开发中不能修改。

const修饰值

而宏定义修饰的变量在开发中也不能修改,也是相当于常量。但是苹果官方推进的写法是用const修饰而不是宏定义,是因为全局变量内存中只有一份,而宏定义,在项目中使用的,会有多个临时的内存(直到程序结束)。并且为了防止定义的全局变量被其他文件引用,经常是用static和const联合使用,例如:

static  类型   const   常量名  = 初始化值

static和const联合使用的例子
上一篇下一篇

猜你喜欢

热点阅读