- const -- 常量
const中文意思是“常量”,不可改变的固定的。const关键字主要作用:
>> const 用来修饰右边的基本变量或者指针变量
>> const 被修饰的变量只读,不能被修改
int const a = 100; <<===>> const int a = 100;
在其后在进行变量 “a”赋值 如a = 200;是错误用法。
const 常用用法可以修饰NSString字符串作为不变的key值变量。
const NSString * key = @"myName";
const 还可以作为某些不可改变的定义的常量数值
const NSInteger a = 100;
- static -- 静态变量
static关键字可以被称为“静态的”,即可修饰某些如NSString,NSInteger等变量,保持此变量只被初始化一次,在内存中一直持有。
其中static 还可以被使用在如创建初始化VC或者view时,保持此VC或者view始终存在内存中,不被释放,可多处使用;其中static使用还避免了使用单例类作为修饰类的冗余。
- 2.1. 修饰局部变量
保证局部变量在此方法中只会被初始化一次,在程序运行中不论执行多少次,只会在内存中产生一份此变量的内存。
// 测试static方法
- (void)testMethod1{
// static 修饰此i变量只会被初始化一次,所以i的值会一直"i++"增加
static int i = 0;
i ++ ;
NSLog(@"%d",i);
}
- 2.2 修饰全局变量
使全局变量的作用域仅限于当前文件内部,即当前文件内部才能够访问该全局变量。
iOS中在一个文件声明的全局变量,工程的其他文件也是能访问的; 但又不想让其他文件访问,这时就可以用static修饰它了,比较典型的是使用GCD一次性函数创建的单例,全局变量基本上都会用static修饰。如下面代码举例:
@implement testClass
//static修饰全局变量,让外界文件无法访问
static testClass *_sharedManager = nil;
+ (testClass *)sharedManager {
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
_sharedManager = [[self alloc] init];
});
return _sharedManager;
}
@end
- 2.3. 修饰函数
在iOS中static修饰函数比较少见,不过在C/C++中修饰函数是非常常见的。C++中static修饰函数表示静态函数即类似于iOS中的类方法,使用类名直接调用即可。
- extern -- 声明外部全局变量
extern 表示外面的,外部的。其中extern只能用于声明,不能用于实现。
可以在 "xx.h" 中使用extern声明一些全局的变量
extern NSString * const name;
extern NSInteger const count;
然后在 "xx.m" 文件中去实现
const NSString *name = @"myName";
const NSInteger count = 1;
在需要使用的文件中import“xx.h”就可以使用定义的常量和变量了。
-
4.break: 跳出“本层”循环,结束循环。
-
5.continue: 忽略“本次”循环后的代码,执行下一次循环。
-
6.return: 直接结束整个函数,不管这个return处于多少层循环之内。
网友评论