dmi*_*747 0 macros objective-c
如何在NSString中扩展宏?我有以下代码:
#define MAX_MESSAGE_LENGTH 2000
NSString *alertTxt = @"Your message exceeded MAX_MESSAGE_LENGTH characters";
Run Code Online (Sandbox Code Playgroud)
正如您可以预测的那样,"我的消息超出了MAX_MESSAGE_LENGTH个字符",而不是"您的消息超过2000个字符".有没有办法让我的MAX_MESSAGE_LENGTH扩展到字符串中?
NSStrings的工作方式与C字符串类似.也就是说,你可以通过将它们彼此相邻地连接来连接字符串常量.
/* nested macro to get the value of the macro, not the macro name */
#define MACRO_VALUE_TO_STRING_( m ) #m
#define MACRO_VALUE_TO_STRING( m ) MACRO_VALUE_TO_STRING_( m )
#define MAX_MESSAGE_LENGTH 2000
NSString *alertTxt = @"Your message exceeded "
MACRO_VALUE_TO_STRING(MAX_MESSAGE_LENGTH)
" characters";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1510 次 |
| 最近记录: |