Я делаю программу, которая имеет много констант.Я решил поместить их все в отдельный класс и импортирую его по классам, которые в этом нуждаются.Файлы выглядят примерно так:
// 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 для доступа к правильной переменной.Кто-нибудь знает способ сделать это?Заранее спасибо.