1、简介
Objective-C中使用常量有两种方式,一种是通过C的的预处理#define来定义,通过此方式预定义的常量,在编译器编译的时候用#define定义的内容代替。第二种是通过C的关键字extern,表示这个变量已经声明,这里只是引用。这种做法的其中一个好处是修改了变量的内容,不会引用重新编译。
2、实践
第一种方式:建立一个头文件如Constants.h,不需要.m文件,在此文件中直接使用#define定义,在需要用到里面常量的文件中,#import该文件即可,代码如下:
//NSString类型 #define MY_CONSTANT1 @"my_constant" //string类型 #define MY_CONSTANT2 "my_constant" //××× #define MY_CONSTANT3 100
第二种方式:建立文件Constants.h,需要.m文件,在.h文件中实现定义,在.m文件中进行赋值。在需要使用此常量的地方#import此文件即可。其中const表示变量不可修改,是个常量。代码如下:
Constants.h文件代码如下:
#import <Foundation/Foundation.h> extern NSString * const MY_CONSTANT1; @interface Constants : NSObject { } @end
Constants.m文件代码如下:
#import "Constants.h" NSString * const MY_CONSTANT1 = @"my_constant1"; @implementation Constants @end
假如常量只是在本文件中用到,可以直接在.m文件中定义,代码如下:
#import "ViewController.h" NSString * const INNER_CONSTANT1 =@"just use in this file"; @implementation ViewController - (void)loadView { NSLog(@"load view: %@,,INNER_CONSTANT1); }