Здравствуйте, у меня проблема с UITableView
freeze,
"downloadItem" ниже вызывается, когда кто-то нажимает на кнопку на iPad.Предполагается загрузить файл и затем вернуться.
Во время загрузки, когда я застрял в этой функции, я хочу, чтобы пользовательский интерфейс все еще был отзывчивым, поэтому я установил runloop, как показано ниже., но то, что показано, является основной идеей этого.Я знаю, что это не лучший способ, но по другим причинам я не могу изменить его в настоящее время, особенно из-за существующей сложности фактической функции.
Проблема в том, что у меня также естьUITableView
на экране (также как и кнопка), если UITableView
нажимается или прокручивается во время выполнения этой функции в цикле выполнения, UITableView
иногда зависает и остается замороженным даже после выхода из этой функции.По какой-то причине это происходит не каждый раз, может быть, в 40% случаев.
Кто-нибудь знает, как это исправить, правильно ли выполняется приведенный ниже вызов RunLoop?Почему, когда я нажимаю UITableView
в цикле запуска ниже, таблица иногда зависает?
-(IBAction) downloadItem
{
BOOL downloading=TRUE;
callFunctionsToStartdownload(...);
while (downloading) {
downloading=DownloadSomeBytes(...);
CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, YES);
}
}
спасибо