2011-12-19 41 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]; 
});