Скрытие подпредставления от другого класса подпредставления - PullRequest
1 голос
/ 29 ноября 2010

Я очень новичок в Какао и Ojective-C.«Учиться на ходу - моя философия».Это мой первый проект Какао.

По сути, я использовал Interface Builder для создания основного NSView (назовем его MainView), в нем у меня есть два вспомогательных NSView (назовем его ViewNS1 и ViewNS2).И ViewNS1 связан с классом view1, а ViewNS2 связан с классом view2.

Когда я нажимаю на ViewNS1, я хотел бы скрыть представление ViewNS2.В моем файле view1.m класса view1 у меня есть это [viewNS2 setHidden: YES] в моем событии - (void) mouseDown: (NSEvent *).Не было ошибки при запуске, но это не работает.Однако я могу успешно сделать [viewNS2 setHidden: YES] из моего MainView.m, и он работал нормально.Также, если я сделаю [viewNS1 setHidden: YES] из view1.m, то он скроет свой собственный вид.

Я думаю, что это очень фундаментально и просто ... Но не смог найти решение.

"Учебный момент" кого-нибудь?

Ответы [ 2 ]

2 голосов
/ 29 ноября 2010

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

0 голосов
/ 30 ноября 2010

Я нашел ответ из другого поста на этом сайте. Это мое решение: Я использую это [self.superview hideViews1] в моем событии mouseDown в view1.m. Где hideViews1 - это метод из MainView.m, который будет скрывать все представления, которые необходимо скрыть, [viewNS2 setHidden: YES] и т. Д.

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