많은 상수를 가진 프로그램을 만들고 있습니다. 나는 그것들을 모두 별도의 클래스에 넣기로 결정했고 그것을 필요로하는 클래스들에 의해 그것을 임포트하려고합니다. 파일은 다음과 유사합니다.Objective-C에서 키 - 값 코딩을 사용하여 상수에 액세스하기
// Constants.h
extern const int baseCostForBuilding;
extern const int maxCostForBuilding;
// etc
// Constants.m
const int baseCostForBuilding = 400;
const int maxCostForBuilding = 1000;
// etc
내가하려는 것은 키 - 값 코딩을 사용하여 액세스하는 것입니다. 지금까지 시도한 것은 효과가 없습니다.
id object = [self valueForKey:@"baseCostForBuilding"];
하지만 다음 작업을 수행하면 정상적으로 작동합니다.
id object = baseCostForBuilding;
이 무의미한 것처럼 보일 수 있지만 난 단지 문자열의 첫 번째 부분을 가져옵니다 "CostForBuilding"나는이 필요로하는 기능에 종료 할 많은 변수가있다. 예를 들어 "base", "max", "intermediate"등이 있습니다. 그런 다음 변수 이름을 얻기 위해 "CostForBuilding"또는 다른 것과 결합합니다.
가능하면 올바른 변수에 액세스하기 위해 여러 if 문 대신 한두 줄의 코드 만 있으면 좋을 것입니다. 누구든지이 일을하는 방법을 알고 있습니까? 미리 감사드립니다.
당신은 적절한 값으로 사전 채울 수
우리는 당신이 상수를 가지고있는 클래스를 볼 수 (또는 이상을 그것의 대표 스 니펫)? – Tim