NSString 内的宏扩展
如何在 NSString 中扩展宏?我有以下代码:
#define MAX_MESSAGE_LENGTH 2000
NSString *alertTxt = @"Your message exceeded MAX_MESSAGE_LENGTH characters";
正如您可以预测的那样,我得到“您的消息超出了 MAX_MESSAGE_LENGTH 个字符”而不是“您的消息超出了 2000 个字符”。 有没有办法让我的 MAX_MESSAGE_LENGTH 在字符串中扩展?
How can I expand a macro inside NSString? I've got the following code:
#define MAX_MESSAGE_LENGTH 2000
NSString *alertTxt = @"Your message exceeded MAX_MESSAGE_LENGTH characters";
As you can predict I get "Your message exceeded MAX_MESSAGE_LENGTH characters" instead of "Your message exceeded 2000 characters".
Is there a way to get my MAX_MESSAGE_LENGTH expanded in the string?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
NSStrings 的工作方式类似于 C 字符串。即,您可以通过将字符串常量写在彼此旁边来连接它们。
NSStrings works like C strings. I.e. you can concatenate string constants by writing them next to each other.
您可以像这样使用
stringWithFormat:
:NSString *alertTxt = [NSString stringWithFormat:@"Your message超过 %i 个字符", MAX_MESSAGE_LENGTH];
这使用相同的占位符
%@
、%i
等作为 NSLog。You can use
stringWithFormat:
like this:NSString *alertTxt = [NSString stringWithFormat:@"Your message exceeded %i characters", MAX_MESSAGE_LENGTH];
This uses the same placeholders
%@
,%i
, etc. as NSLog.