2012-08-09 18 views
9

Duplicar posibles:
How to create constant NSString by concatenating strings in Obj-C?constantes Concatenate Objective-C

tengo dos constantes que me gustaría para concatenar:

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

Normalmente en otros idiomas I concatenaría WEBSITE_URL en API_URL, pero no se puede concatenar una constante de tiempo de compilación sinc e stringWithFormat o algo similar es un método de tiempo de ejecución, no de compilación.

+2

No estoy muy seguro de lo que quiere decir, ¿quiere concatenarlos en tiempo de compilación? Si es así, ¿por qué? :) –

+0

De modo que si la URL raíz cambia, solo necesita actualizarse en un lugar en una línea. –

Respuesta

19

se puede hacer esto con macro uso:

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

que podría caer al pre-procesador.

#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/"; 
Cuestiones relacionadas