Что делает доллар на $height объекта UITextfield?
Я только что узнал, что есть некоторые свойства объектов классов, у которых в качестве префикса стоит знак доллара:
$height
$left
$origin
$size
... так далее
Я могу использовать его как сеттер, например
self.textField.$height = 44;
Q: как это называется, для чего это хорошо, и является ли это хорошей практикой?
1 ответ
Кажется, вы используете категорию UIView + FrameAdditions.h.
Подробнее о категориях здесь.
Знаки $ не имеют особого значения в этом случае - они на самом деле немного нетрадиционны для использования в ObjC.
Это просто способ, которым разработчик назвал вспомогательные методы в этой категории.
Этот префикс $ выглядит немного странно, но, с другой стороны, он помогает отличить нативные свойства ObjC от UIView
вспомогательные методы фреймов и категорий.
Ник Фарина (разработчик этой категории) на самом деле называет это "вроде как jQuery для UIViews"
Что касается вашего вопроса: это хорошая практика, чтобы использовать это так?
Как сказано: $-sign - это редкость, и я бы отказался от него лично. Особенно, если есть шанс, что кто-то еще когда-нибудь будет работать над тем же проектом.
Но сама категория может быть очень полезной и экономящей время.