Проблемы с uiimageview.image - PullRequest
0 голосов
/ 23 июля 2010

Я хочу изменить изображение uiimage.image, вызвав метод в моем viewcontroller:

-(void) aendereBild: (NSData*)bildngage {
    UIImage *uiimageAusData = [UIImage imageWithData: bildngage];
    drawImage.image = uiimageAusData;
}

Чтобы сделать его коротким: изображение не меняется. Это не из-за NSData, который я передаю (который я сначала думал, что была проблема). Этот метод вызывается из appdelegate.

В другом пустоте этого контроллера просмотра я могу без проблем изменить изображение с помощью drawimage.image = otherimage, поэтому я думаю, что вызов из AppDelegate вызывает проблему. Кто-нибудь знает, что я сделал не так? Thankie!

1 Ответ

0 голосов
/ 23 июля 2010

Я думаю, что @tonclon правильно считает, что вызов appDelegate не происходит в нужном потоке.Простой способ проверить это - поставить точку останова на строке, которая работает, и на строке, которая не работает, и посмотреть, какой поток используется (показано в отладчике Xcode).

Этот вопрос показывает, как вывыполните обновление в нужном потоке, если это так:

Как мне обновить интерфейс в середине этого потока?

Вам нужно что-то вроде

  [drawImage performSelectorOnMainThread:@selector(setImage:) withObject:uiimageAusData waitUntilDone:NO];

Потоки, которые делают вызовы в appDelegate, не обязательно являются основным потоком - вы должны проверить.Ваше приложение запускается с нескольких потоков, даже если вы их не создавали.

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