Попытка сообщения кнопки из другого класса - PullRequest
1 голос
/ 27 апреля 2011

Я новичок в Objective-C, так что, возможно, я делаю это совершенно неправильно, и если я, пожалуйста, поправьте меня. Я пытаюсь создать отдельный класс в своем приложении для iPhone только для кнопок скинов. Я надеюсь, что это позволит мне повторно использовать как можно больше кода, но прежде чем я потрачу на него слишком много времени, я хотел бы узнать, возможно ли это / хорошая идея отправить сообщение в UI Control из другого класса, и если я могу, как я должен это сделать? Прямо сейчас я пытаюсь передать идентификатор отправителя моему классу SkinTools и сообщить, что это не похоже на то, что позволит мне отправить объект слоя.

Итак, я просто полностью оторвался от стены или это возможно?

Ответы [ 3 ]

2 голосов
/ 27 апреля 2011

Рассмотрите возможность использования шаблона делегата .

1 голос
/ 27 апреля 2011

Для этой цели можно просто использовать метод addTarget: selector: . В качестве цели установите класс, которому вы хотите отправить сообщение, в качестве селектора метод, который вы хотите вызвать для класса.

Вы можете добавить несколько iVars в ваш класс, например, id buttonTarget и SEL buttonSelector и создать инициализатор, такой как -initButtonWithTarget: selector: , чтобы установить эти значения при инициализации.

0 голосов
/ 25 июля 2012

Оказывается, категории были тем ответом, который мне нужен, тогда я могу просто добавить скин-метод к каждому используемому элементу управления. Я даже могу поместить их все в один файл, чтобы было легче добраться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...