greenColor
- это просто имя метода класса в UIColor
. Как только UIColor
создан, он не знает, что это greenColor
- он просто знает, что у него есть значения цвета, которые становятся зелеными.
Так что я бы предложил одну из двух вещей.
- Создайте категорию на
UIColor
, которая перехватывает description
, сравнивает значения цвета с набором конструкторов цвета и возвращает соответствующую строку.
- Подкласс
UIColor
и сохраните строку имени цвета. Укажите метод description
, который просто возвращает эту строку.
Я подозреваю, что (2) проще, но требует, чтобы вы могли использовать свою версию с подклассами вместо UIColor
.