доступ к представлению контроллера представления - PullRequest
1 голос
/ 20 апреля 2010

Я нахожусь в классе приложения, основанного на представлении, которое создавалось с помощью одного контроллера представления.

Когда я нахожусь внутри контроллера представления, я могу получить доступ к его представлению, используя self.view, но как мне получить доступ к тому же представлению, если я нахожусь внутри класса?

[[UIApplication sharedApplication] delegate]... //??? what do I put here?

спасибо

Ответы [ 3 ]

1 голос
/ 20 апреля 2010

Если вы пытаетесь дать синглтону ссылку на ваш основной viewController, лучшим решением может быть то, что ваш MyAppDelegate установит свойство viewController для вашего синглтона при запуске:

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
    [MySingletonClass sharedSingleton].viewController = self.viewController;
}

Если вы планируете повторно использовать Singleton, как это, в нескольких проектах, часто имеет смысл установить такие свойства в AppDelegate.

1 голос
/ 20 апреля 2010

Предполагая, что контроллер представления является членом вашего делегата приложения. вы можете получить к нему доступ следующим образом: («YourAppDelegate» следует заменить на фактическое имя типа вашего делегата приложения)

( ( YourAppDelegate *) [ [ UIApplication sharedApplication ] delegate ] ).viewController.view;

0 голосов
/ 20 апреля 2010

Подвид действительно не должен манипулировать родительским представлением, каждый класс должен управлять своим собственным представлением.

В любом случае, если ваш класс является подклассом UIView и является подвидом viewController, вы можете получить представление viewController, открыв свойство superview для получения родительского представления.

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