Что делает доллар на $height объекта UITextfield?

Я только что узнал, что есть некоторые свойства объектов классов, у которых в качестве префикса стоит знак доллара:

$height
$left
$origin
$size

... так далее

Я могу использовать его как сеттер, например

self.textField.$height = 44;

Q: как это называется, для чего это хорошо, и является ли это хорошей практикой?

1 ответ

Решение

Кажется, вы используете категорию UIView + FrameAdditions.h.

Подробнее о категориях здесь.

Знаки $ не имеют особого значения в этом случае - они на самом деле немного нетрадиционны для использования в ObjC.

Это просто способ, которым разработчик назвал вспомогательные методы в этой категории.

Этот префикс $ выглядит немного странно, но, с другой стороны, он помогает отличить нативные свойства ObjC от UIViewвспомогательные методы фреймов и категорий.

Ник Фарина (разработчик этой категории) на самом деле называет это "вроде как jQuery для UIViews"

Что касается вашего вопроса: это хорошая практика, чтобы использовать это так?

Как сказано: $-sign - это редкость, и я бы отказался от него лично. Особенно, если есть шанс, что кто-то еще когда-нибудь будет работать над тем же проектом.

Но сама категория может быть очень полезной и экономящей время.

Другие вопросы по тегам