2011-08-12 4 views
0

나는 목록이있는 Constants.h 파일을 만들었습니다 : 나는 또한 .H에 Constants.h를 # import를 사용어떻게 객관적인 C 문자열 조작이 특정 상수의 이름을 생성합니까?

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

. newQuote 메서드를 사용하여 kw strings 중 하나를 임의로 선택하려고했지만 kwString 문자열 내에서 call a referenceconstant으로 찾는 방법을 찾는 데 어려움이 있습니다.

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

생각과 제안이 가장 중요합니다.

+2

을 정의 대신에 열거를 사용하는 방법에 대한 ? – gsempe

답변

6

이 방법으로는 액세스 할 수 없습니다. 이러한 "상수"는 런타임이나 컴파일러에서 코드를 볼 때조차도 존재하지 않습니다.이 코드는 전처리기에 의해 리터럴 문자열로 변환됩니다.

대신 배열을 만들어야 만 주어진 인덱스에서 요소를 얻을 수 있습니다.

는 (일반적으로, 당신은 끝에 일련 번호와 물건의 이름을 지정하고 언제든지, 당신이 가진 수있는 문제에 대한 답은 "배열을 사용합니다."입니다)

+0

또는 그는 사전을 작성한 다음 이름으로 항목을 검색 할 수 있습니다. –

+0

확인. 배열은 갈 길입니다. 감사, –

관련 문제