Я вхожу в класс в приложении на основе представления, которое создавалось с помощью одного контроллера вида.Доступ к представлению диспетчера просмотров
КОГДА Я внутри контроллера представления. Я могу получить доступ к его представлению, используя self.view, но как мне получить доступ к тому же представлению, если я внутри класса?
[[UIApplication sharedApplication] delegate]... //??? what do I put here?
благодаря
Да, контроллер просмотра является членом делегата, но этот ваш код дает мне сообщение «запрос для представления члена в чем-то, что не является структурой или объединением» ... другой вопрос: могу ли я иметь эту строку в общий способ? Я имею в виду, не указывая имя приложения? Я спрашиваю об этом, потому что эта строка должна использоваться для метода внутри одного сингла, который используется несколькими приложениями ... и я думаю, что эти скобки, которые вы указали, не используют правильный синтаксис. Благодарю. – SpaceDog
Это будет работать без явного приведения, хотя компилятор даст вам предупреждение. Эта ошибка означает, что вид контроллера контроллера не существует. –
Точечная нотация не будет работать без явного приведения в этом случае - в отличие от обычного синтаксиса отправки сообщений Obj-C, компилятор _needs_ должен знать, что класс отвечает на конкретное сообщение, если вы используете точечный синтаксис, в противном случае предполагается, что вы пытаясь получить доступ к члену структуры или объединения. Тем не менее, вы можете использовать следующее без приведения (и получить предупреждение компилятора, что плохо, поэтому вы не должны делать это в производственном коде): '[[[[UIApplication sharedApplication] delegate] viewController] view];' –