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

Pet*_*ann 0 reference constants objective-c nsstring

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

#define kw00 @"foo" 
#define kw01 @"bar"
...
Run Code Online (Sandbox Code Playgroud)

我也在Constants.h.h中使用#import .使用newQuote方法,我想随机选择的一个kw strings,但我有困难,探索如何call a reference以一个constant是字符串中定义kwString.

-(IBAction)newQuote 
{
    int rNumber = arc4random() % kwTotal;
    (rNumber <9) 
    {
        NSString *kwString = [@"kw0" stringByAppendingString:[NSString stringWithFormat:@"%d", rNumber]];   
    }
}
Run Code Online (Sandbox Code Playgroud)

我们非常感谢您的想法和建议.

Chu*_*uck 6

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

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

(一般来说,只要你在最后用顺序数字命名事物,你可能遇到的任何问题的答案都是"使用数组.")