定数が多いプログラムを作っています。それらをすべて別のクラスに入れることにし、それを必要とするクラスごとにインポートしています。ファイルは次のようになります
// 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 ステートメントを使用する代わりに、1 行または 2 行のコードのみを使用する方がはるかに優れています。これを行う方法を知っている人はいますか?前もって感謝します。