Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
А можно сделать програмно: найти все все дочерние вью определенного типа или с определенным протоколом
Вообще архитектура тут пахнет говном.
И копипастом
billingStateTextField.textColor = UIColor.blackColor()
billingStateTextField.textColor = UIColor.blackColor()
Чтобы "унаследовать" enum от UIColor, тебе столько манипуляций сделать придется, что проще этого не делать. Я написал enum вместо class или struct, чтобы нельзя было написать потом let c = Colors() и получить объект, в котором ничего нет.
Но если уж так хочется, то можно что-то типа такого
protocol ColorRepresentable {
var color: UIColor { get }
}
enum Colors: ColorRepresentable {
case BillingTextFieldEnabled
case BillingTextFieldDisabled
var color: UIColor {
switch self {
case .BillingTextFieldEnabled:
return .blackColor()
case .BillingTextFieldDisabled:
return .lightGrayColor()
}
}
}
textField.textColor = Colors.BillingTextFieldEnabled.color
Я тут даже не прав немного. "Унаследовать" enum от UIColor нельзя от слова совсем, ибо необходимо, чтобы UIColor реализовывал протокол RawRepresentable, а в extension UIColor написать required нельзя, только напрямую в классе.
А можно сделать програмно: найти все все дочерние вью определенного типа или с определенным протоколом
Вообще архитектура тут пахнет говном.
И копипастом
billingStateTextField.textColor = UIColor.blackColor()
billingStateTextField.textColor = UIColor.blackColor()
enum Colors: UIColor {
case BillingTextFieldEnabled = UIColor.blackColor()
case BillingTextFieldDisabled = UIColor.lightGrayColor()
}
Но если уж так хочется, то можно что-то типа такого
Обычно делали расширение типа категории (навешивали методы)
Ну или дефайнами зафигачить)
А вообще в емумы в свифте помимо их стандартной функции можно добавлять еще сторонний функционал, типа как я сделал выше
эквивалент
правда шлангу может понадобиться ключик чтобы понимать категории если код разнесен на пару модулей