У меня есть главный «класс»/контроллер просмотра под названием «MainUI.m», который отображает пользовательский интерфейс для моего приложения. Внутри этого контроллера представления я объявил экземпляр другого класса под названием «DoActivity.m», поэтому я могу назвать один из его методов, называемый «getFeed» внутри моего MainUI. Прежде чем метод завершится, он должен обновить изображение из моего MainUI. И затем метод повторяется снова. Моя проблема заключается в том, что приложение падает всякий раз, когда я обновить пользовательский интерфейс внутри метода:iOS update UI из другого класса/потока
MainUI* mu = [[MainUI alloc] init];
-(void)getFeed{
//some tasks here
mu.imageView.image= imageInDoActivity.image;
}
EDIT
ошибка говорит что-то вроде
Thread 1: Program recieved signal:'EXC_BAD_ACCESS'
и выделяется на этой строке кода :
mu.imageView.image= imageInDoActivity.image;
редактировать
У меня есть свойство MainUI в DoActivity:
@property MainUI* mu;
Но в моем DoActivity конструктор, я не инициализирует указанного имущества. Вместо этого перед вызовом [self.doAct getFeed] в MainUI где doAct является
@property DoActivity* doAct;
Я установил
self.doAct.mu = self;
в MainMU так, что DoActivity будет знать, что он должен обновить пользовательский интерфейс класса, который назвал его ,
Как исправить это?
предоставить больше информации plz. журнал сбоев, тело метода. – Stas
Каково сообщение об ошибке для сбоя? Вы не должны обновлять какой-либо объект пользовательского интерфейса в любом другом потоке. Пользовательский интерфейс может быть обновлен только в основном потоке, это может быть причиной вашего краха, но без ошибки, которую мы не знаем. – Popeye
Ошибка говорит что-то вроде: «Тема 1: Полученный программой сигнал:« EXC_BAD_ACCESS »и выделен в этой строке кода: mu.imageView.image = imageInDoActivity.image; – user2964075