【问题标题】:NSFileManager removeItemAtPath locks main threadNSFileManager removeItemAtPath 锁定主线程
【发布时间】:2012-01-23 16:31:45
【问题描述】:
我正在开发一款可以删除大量文件的应用。当我调用 NSFileManager 的 removeItemAtPath 方法时,应用程序的 UI 会锁定,直到操作完成(这可能需要一段时间)。
我尝试通过使用 performSelectorInBackground 调用方法来解决此问题,但没有成功。
有什么想法吗?
提前致谢。
【问题讨论】:
标签:
iphone
objective-c
ios
cocoa-touch
nsfilemanager
【解决方案1】:
您可以尝试使用 GCD 在后台线程中执行此操作。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
[[NSFileManager defaultManager] removeItemAtPath:path];
});