В моем приложении для iPhone основной поток создает фоновый поток, который выполняет большую работу и в некоторых случаях должен запрашивать у пользователя решение. Когда пользователю задают вопрос, фоновый поток должен перестать работать и должен продолжаться только после того, как пользователь ответил на вопрос.
Какой лучший способ сделать это?
приписка
Я попробовал ModalAlert из книги разработчиков iPhone Developer's, которая, как говорили, добилась цели, но мне не удалось. Похоже, что CFRunLoopRun (который должен остановить выполнение потока) просто не останавливает фоновый поток.
У меня был такой код
+(void) main
{
[NSThread detachNewThreadSelector:@selector(startSync) toTarget:self withObject:nil];
}
+(void) startSync
{
CFRunLoopRun();
NSLog("Hi");
}
и NSLog
были сразу выполнены после запуска потока syncStart
. Weird.