NSFileManager removeItemAtPath锁定主线程

mik*_*wan 5 iphone cocoa-touch objective-c nsfilemanager ios

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

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

有任何想法吗?

提前致谢.

Ran*_*all 1

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

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
  [[NSFileManager defaultManager] removeItemAtPath:path];
});
Run Code Online (Sandbox Code Playgroud)