2011-12-19 5 views
5

大量のファイルを削除できるアプリを開発中です。 NSFileManagerのremoveItemAtPathメソッドを呼び出すと、操作が完了するまでアプリのUIがロックされます(これには時間がかかることがあります)。NSFileManager removeItemAtPathはメインスレッドをロックします

performSelectorInBackgroundを使用してメソッドを呼び出すことでこれを修正しようとしましたが、動作しませんでした。

アイデア?

ありがとうございます。

答えて

1

GCDを使ってバックグラウンドスレッドで実行できます。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { 
    [[NSFileManager defaultManager] removeItemAtPath:path]; 
}); 
関連する問題