Звучит так, будто вам нужна карта из строк для перечисления объектов. Есть несколько способов сделать это.
Вы можете использовать NSDictionary с ключами NSString и NSNumber-кодированными типами, представляющими объекты.
Вы можете использовать NSArray с именами функций (@ "ln", @ "sin" и т. Д.) И сохранять индекс только в массиве; это в основном избавляет от перечисления.
Если вы действительно хотите объединить список типов enum и строковых объектов, вы также можете сделать что-то вроде этого:
typedef enum FunctionType {
ln, sin, cos, tan, exp
} FunctionType;
typedef struct FunctionItem {
FunctionType type;
NSString *name;
} FunctionItem;
FunctionItem functions[] = {
{ln, @"ln"},
{sin, @"sin"},
{cos, @"cos"},
{tan, @"tan"},
{exp, @"exp"},
};
Остерегайтесь столкновений символов! Вы не можете иметь идентификатор перечисления, называемый sin, а также использовать стандартную функцию sin ().
Удачи в вашем приложении типа калькулятора!