У меня есть приложение для iPhone с двумя потоками. Один слушает сервер, а другой занимается UIKit, OpenGl.
Мне нужно запустить метод, который обновляет представление из вторичного потока, который прослушивает сервер в основном потоке, который обрабатывает представления, поэтому я использовал
performSelectorOnMainThread:@selector"createGuessingView" withObject:nil waitUntilDone:YES
но по какой-то причине метод никогда не выполняется. Помещение точки останова или printf в начале метода показывает, что он никогда не вызывался. Я действительно озадачен здесь. Я использовал performselectoronmainthread
в той же программе для обновления текстовых полей, и она работала безупречно.
редактировать:
Разобрался :) Проблема заключалась в том, что объект, который я использовал PerformSelectorOnMainThread, был установлен этим потоком до того, как объект был инициализирован (даже выделен) в основном потоке. Следовательно, ссылка указывала на null, и селектор не распознавался.
Спасибо за помощь