В моем проекте iPhone у меня есть UIViewController, в который я добавляю экземпляр подкласса UIView.
Это подразумевает, что у вас есть и ссылка на экземпляр подкласса UIViewи UIViewController в той же области.То есть что-то эквивалентное:
UIViewControllerSubclass *myViewController;
UIViewSubclass *myView;
(не имеет значения, являются ли они на самом деле переменными экземпляра или даже глобальными)
И как только эти две переменные инициализируются, где-то вы что-то делаетенапример:
myViewController.view = myView;
В своем UIViewSubclass добавьте свойство, которое указывает на ваш UIViewControllerSubclass:
@property(assign) UIViewControllerSubclass *myController;
Затем, когда вы сделаете указанное выше назначение, добавьте:
myView.myController = myViewController;
Отсюда легко обмениваться сообщениями с вашим контроллером:
[self.myController yoManHereIsAnInt: 42];
Обратите внимание, что я использовал assign
вместо retain
, потому что контроллер уже сохраняет представление.Если бы представление также сохраняло контроллер, у вас был бы цикл, который в конечном итоге привел бы к утечке.
Нет super
об этом.super
полностью связано с иерархией наследования ваших классов Objective-C.То, о чем вы спрашиваете, не имеет ничего общего с наследованием и связано с тем, как различные экземпляры объектов в вашем приложении связаны друг с другом.