IOS开发中常量的处理

 IOS开发中,文本解析,键值处理等都会用到常量

项目中大部分的处理都是用的C的预处理#define来处理常量
,比如:

#define ELEMENT        “element”
#define NODE             "node"
复制代码
等到用的时候,直接加入这个头文件就可以了。
    
    但是有问题,因为这样定义出来的常量值是c字符串,不能直接使用OBJC中NSString类中提供的方法,很是不方便,所以博主写了可以这样做:
#import 
extern NSString * const kInitURL;
@interface Constants : NSObject { 可以省略
}
@end
复制代码
这里使用到extern c关键字,表示这个变量已经声明,只是引用。const关键字表示变量是常量,不可修改。
    然后在.m文件中可以这样写
#import "Constants.h"
NSString * const kInitURL = @"http://marshal.easymorse.com";
@implementation Constants  可以省略
@end 但宏定义有局限性,没办法表示诸多的数据类型,另外编程规范中也不推荐大量的使用宏定义,所以博主的方法看来确实是最佳实践之一,其实除此以外也有很多方法可以用,比如不使用const关键字,也可以使用static关键字定义静态变量。都可以,无论哪种方法都可以实现功能,方法优劣只能在易用性,可读性和执行效率上体现出来,

 

posted @ 2016-01-09 19:54  mshong  阅读(809)  评论(0编辑  收藏  举报