【发布时间】:2013-11-23 13:29:28
【问题描述】:
我想定义一个宏或其他方式,我可以在编译时生成类似的变量声明。例如。我想像这样声明 50 个 NSString 变量:#define VAR_GENERATOR (var_name, var_content) NSString* var_name = @"var_content" 并在 for 循环中执行:
for(NSString* string in [stringArray count])
{
NSString* var_name = [NSString stringWithFormat: @"string%d", iteration];
VAR_GENERATOR (var_name, string);
iteration++;
}
假设[stringArray count] == 50 所以我想要有 50 个 NSString 变量声明,如下所示:NSString* string1 = @"first string from array" 等等...
那么有一些预处理器方法可以实现这一点吗?或者可能在 Objective-C 中还有其他一些更优雅、更灵活的编译时元编程工具?
【问题讨论】:
-
为什么需要在编译时完成?你想完成什么。
标签: ios objective-c nsarray c-preprocessor metaprogramming