NSFileManager removeItemAtPath блокирует основной поток - PullRequest
5 голосов
/ 19 декабря 2011

Я работаю над приложением, которое может удалять большое количество файлов. Когда я вызываю метод removeItemAtPath NSFileManager, пользовательский интерфейс приложения блокируется до завершения операции (это может занять некоторое время).

Я попытался исправить это, вызвав метод с помощью executeSelectorInBackground, но он не сработал.

Есть идеи?

Заранее спасибо.

1 Ответ

1 голос
/ 19 декабря 2011

Вы можете попробовать использовать GCD, чтобы сделать это в фоновом потоке.

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
  [[NSFileManager defaultManager] removeItemAtPath:path];
});
...