Я полагаю, что самый простой способ сделать это - создать NSDictionary
с предопределенными экземплярами UIColor
и отобразить их как пары ключ-значение;ключами является строка, представляющая цвет, а значением является фактический UIColor
объект.
Так что, если вы хотите иметь как красный, так и синий, как возможные цвета (которые теперь в NSMutableArray
, если яправильно), вы можете создать NSDictionary
следующим образом:
NSArray * colorKeys = [NSArray arrayWithObjects:@"red", @"blue" nil];
NSArray * colorValues = [NSArray arrayWithObjects:[UIColor redColor], [UIColor blueColor], nil];
NSDictionary * colorMap = [NSDictionary dictionaryWithObjects:colorValues forKeys:colorKeys];
Если вы затем хотите передать цвет (учитывая строку AKA, ключ указанного цвета), вы можете просто сделать это:
NSString * chosenColor = textField.text; // extract desired color from input in textField
textField.textColor = [colorMap valueForKey:chosenColor]; // use this color string to find the UIColor element in the colorMap
Надеюсь, это ответит на ваш вопрос!