我正在使用 Swift 4.2 在 XCode 9.4 中构建 Mac 命令行工具。
我必须使用 GCD 保存一些数据以供将来在后台线程中使用,如下面的代码。
let background = DispatchQueue.global(qos: .background)
background.async { [unowned self] in
self.saveData(of: self.user, to: "user details")
}
这很好用,并在应用程序在启动后台线程后运行一段时间时保存用户数据。但有时,用户可能会在后台保存过程正在进行时退出应用程序。如何使工具完成保存过程然后退出?