iOS头文件中如何在宏里引用已有的宏

通常咱们在开发环境中常常会有这样的需求,若是有不是不少的接口的话,通常会这样写api

#define kLoginURLStr                @"http://test.yunlu6.com/api/v1/login"
#define kLogoutURLStr               @"http://test.yunlu6.com/api/v1/logout"
复制代码

可是 通常 公司 接口少则几十个,多则上百个,要是未来改的话,会稍显麻烦,且容易出错,因而会有下面优化的写法: #define kTestHostName @"test.yunlu6.com" #define kLoginURL @"" kTestHostName@"/api/v1/login" #define kLogoutURLStr @"" kTestHostName@"/api/v1/logout" 可是不少公司的服务器环境常常会变更,所以,咱们还须要考虑到切换域名的状况,因而下面就会写出最终的写法 #define kTestHostName @"test.yunlu6.com" #define kDevelopHostName @"develop.yunlu6.com" #define kHostName kDevelopHostName服务器

#define kLoginURL                    @"" kHostName@"/api/v1/login"
#define kLogoutURLStr                @"" kHostName@"/api/v1/logout"
复制代码

之后就只须要更改这一行宏就能够了 #define kHostName kDevelopHostName/kTestHostName/kOtherHostNameide

注:@"" kTestHostName@"/api/v1/login"中 kTestHostName前面必需要有空格用来区分字面量引号"和标志符kTestHostName,不然在编译时候会报错, Invalid suffix on literal; C++11 requires a space between literal and identifier,好的,一切编译正常!优化

相关文章
相关标签/搜索