IOS关键字const/static/extern/synthesize

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;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值