【问题标题】: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];
    });
    

    【讨论】:

      猜你喜欢
      • 2011-06-05
      • 1970-01-01
      • 2014-08-21
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多