连接常量 Objective-C ios

9

我有两个常量需要拼接:

可能重复问题:
如何在Obj-C中通过连接字符串创建常量NSString?

NSString * const WEBSITE_URL = @"http://192.168.1.15:3000/";
NSString * const API_URL = @"http://192.168.1.15:3000/api/";

通常在其他语言中,我会将WEBSITE_URL与API_URL连接起来,但你不能连接编译时常量,因为stringWithFormat或类似的方法是运行时而非编译时方法。


2
我不太确定你的意思,你是想在编译时将它们连接起来吗?如果是这样,为什么呢? :) - Joachim Isaksson
这样,如果根URL更改,只需要在一个地方的一行中更新即可。 - Graham Perks
2个回答

19

你可以使用宏来实现这个目的:

#define WEBSITE_URL @"http://192.168.1.15:3000/"
#define API_URL WEBSITE_URL @"api/"

9
你可以使用预处理器。
#define WEBSITE_URL_DEF "http://192.168.1.15:3000/"

NSString * const WEBSITE_URL = @WEBSITE_URL_DEF;
NSString * const API_URL     = @WEBSITE_URL_DEF "api/";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接