我想要一个我可以这样使用的宏:
CREATE_URL(@"{SOME-TOKEN}/some/url/path");
宏应该将我的令牌模拟替换为以下调用:
NSString *initialURL = @"{SOME-TOKEN}/some/url/path";
[initialURL stringByReplacingOccurencesOfString:@"{SOME-TOKEN}" withString:@"http://server.com"]
所以我已经像这样定义了我的宏,不幸的是它不起作用:
#define CREATE_URL(url) [##url stringByReplacingOccurencesOfString:@"{SOME-TOKEN}" withString:@"http://server.com"];
使用宏时出现两个错误:
Missing '[' at start of message send expression
Pasting formed '[@', an invalid preprocessing token
答案 0 :(得分:4)
为什么不呢?
#define CREATE_URL(url) [url stringByReplacingOccurencesOfString:@"{SOME-TOKEN}" withString:@"http://server.com"]
它应该工作正常...为什么##和;?