1

我想要一个可以像这样使用的宏:

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
4

1 回答 1

4

为什么不是这个?

#define CREATE_URL(url) [url stringByReplacingOccurencesOfString:@"{SOME-TOKEN}" withString:@"http://server.com"]

它应该可以正常工作......为什么##和;?

于 2012-05-03T16:32:43.027 回答