如何使客观的C字符串操作生成特定常量的名称?

时间:2011-08-12 20:33:22

标签: objective-c nsstring reference constants

我创建了一个Constants.h文件,其中包含以下列表:

#define kw00 @"foo" 
#define kw01 @"bar"
...

我也在.h中使用#import Constants.h。使用newQuote方法,我试图随机选择kw strings中的一个,但我很难发现如何call a referenceconstantkwString字符串中定义的-(IBAction)newQuote { int rNumber = arc4random() % kwTotal; (rNumber <9) { NSString *kwString = [@"kw0" stringByAppendingString:[NSString stringWithFormat:@"%d", rNumber]]; } }

{{1}}

我们非常感谢您的意见和建议。

1 个答案:

答案 0 :(得分:6)

根本不可能以这种方式访问​​事物。那些“常量”甚至不存在于运行时,或者当编译器看到你的代码时 - 它们被预处理器翻译成文字字符串。

您应该创建一个数组,然后您可以在给定的索引处获取该元素。

(一般情况下,每当你在最后用顺序数字命名时,你可能遇到的任何问题的答案都是“使用数组。”)