Я создал класс UIViewController под названием MyViewController с UIImageView в его XIB-файле. Затем я импортирую этот класс в другой класс. Я делаю экземпляр класса и меняю изображение в UIImageView, используя код:
myViewController.myImageView.image = [UIImage imageNamed:@"myImage.png"];
Это работает плавно. Мое приложение по сути является средством просмотра изображений. Я хотел кэшировать следующее и предыдущее изображения, предварительно загрузив подпредставление с изображением. Когда я помещаю myViewController в переменную, как это:
UIViewController *pager = myViewController;
И попытайтесь использовать переменную, чтобы установить изображение для UIImageView следующим образом:
pager.myImageView.image = [UIImage imageNamed:@"myImage.png"];
Я получаю "ошибку: запрос на член 'myImageView' во что-то, не являющееся структурой или объединением". Я пытался сделать это, используя квадратные скобки:
[[[pager myImageView] setImage:[UIImage imageNamed:@"myImage.png"]];
Я получаю "предупреждение" UIViewController 'может не отвечать на' -myImageView '". Как мне получить доступ к иерархии, чтобы добраться до myImageView? Я использовал @class в заголовке и #import, и я синтезировал экземпляр класса. Единственное решение, которое у меня есть, это взлом, сделав это:
UIImageView *pager = myViewController.myImageView;
pager.image = [UIImage imageNamed:@"myImage.png"];
Что удваивает количество переменных, которые у меня есть, одна для переменной UIImageView, а другая для переменной UIViewController. Заранее спасибо всем, кто может помочь.