2012-08-09 7 views
9

可能性の重複:
How to create constant NSString by concatenating strings in Obj-C?を連結定数のObjective-CのIOS

は私が連結したい2つの定数があります。他の言語の通常

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

をI API_URLのWEBSITE_URLを連結しますが、コンパイル時定数sincを連結することはできませんe stringWithFormatなどのようなものは、コンパイル時のメソッドではなく、ランタイムです。

+2

コンパイル時に連結したいのですか?もしそうなら、なぜですか? :) –

+0

ルートURLが変更された場合は、1行で1か所だけ更新する必要があります。 –

答えて

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/";