NSFileManager removeItemAtPath锁定主线程

时间:2011-12-19 14:57:32

标签: iphone objective-c ios cocoa-touch nsfilemanager

我正在开发一款可以删除大量文件的应用。当我调用NSFileManager的removeItemAtPath方法时,应用程序的UI会锁定,直到操作完成(这可能需要一段时间)。

我试过通过使用performSelectorInBackground调用方法来解决这个问题,但它没有用。

有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用GCD在后台线程中执行此操作。

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