2010-04-20 6 views
0

Хорошо, у меня есть ViewController, который имеет 12 UIButtons как переменные экземпляра, и они созданы в построителе интерфейса. Я хочу получить доступ к другой переменной в viewController из метода init UIButton. Это возможно?Доступ к переменной владельцев

Кстати, я пишу в Objective-C в iPhone SDK.

Cheers.

ответ

0

Если вы явно не добавили ivar и свойство к вашей кнопке (путем подкласса UIButton) и назначили ему контроллер вида, он (и любое другое представление) не имеет доступа к его (или любому из его наблюдателей) ,

Если вы считаете, что вам требуется такая вещь, это часто является признаком плохо продуманного дизайна, потому что если вы следуете за образцами MVC-шаблонов, как правило, не должны знать уровень модели или контроллера. Что пытаются сделать?

+0

Как я уже сказал, viewController имеет 12 UIButtons как переменные с именем button1, button2 и т. Д. Итак, в методе init моего подкласса UIButton мне нужно установить переменную, на основе которой она есть. Есть ли простой способ сделать это? – Dyldo42

+0

Вы можете использовать свойство «tag» кнопок (установить его непосредственно из IB), чтобы дать им идентификатор. Или объявите свойство в классе кнопок и установите его из вашего кода контроллера просмотра (например, в 'viewDidLoad'). Как я уже сказал, у вас нет доступа к контроллеру просмотра с помощью кнопки. –

+0

Но дело в том, что мне нужно установить это в методе init подкласса UIButton, который (я уверен,) вызывается перед методом viewDidLoad. Если хуже, я могу перенести часть этого кода init в viewDidLoad. – Dyldo42

Смежные вопросы