IOS关键字const/static/extern/synthe

2018-06-15  本文已影响0人  type雨过

const

const用来修饰右边的基本变量或指针变量
被修饰的变量只读,不能被修改

int const a = 10;
const int a = 10;
//两种写法是一样的效果
int  const  *p   //  *p只读 ;p变量
int  * const  p  // *p变量 ; p只读
const  int   * const p //p和*p都只读
int  const  * const  p   //p和*p都只读

static

修饰变量保证局部变量永远只初始化一次,在程序的运行过程中永远只有一份内存。

-(void)click{
int i = 0;
      i++;
//这里i永远为1
}
-(void)click{ 
//局部静态变量
static int i = 0;
      i++;
//这里i永远为就可以正常递增了
}

修饰全局变量

@implementation name
//全局静态变量。可以让外界无法通过extern访问
static int  i = 9;

extern

它的作用是声明外部全局变量

.h文件去生命
extern NSString * const name;
extern NSInteger  const count;
.m中去实现
NSString *const name = @"张三";
NSInteger const = 3;

只要导入头文件就可以使用这些全局的变量或者常量
开发中会专门定义一个类去管理这些变量常量

synthesize

之前@property name声明的属性,还不是自动生成set 和 get 方法
需要在.m 文件里@synthesize name;这样就会自动生成。
后面@property 的完善 就不用 在用 @synthesize 了;
下面是目前会使用到的一个列子

//.h声明
{
int  _a;
}
@property int a;
//.m实现
//这样_a  和a 就不会冲突
@synthesize a;

【初来匝道请大家多多指教】

上一篇 下一篇

猜你喜欢

热点阅读