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关键字定义静态变量。都可以,无论哪种方法都可以实现功能,方法优劣只能在易用性,可读性和执行效率上体现出来,