我正在阅读斯威夫特和偶然遇到的类型方法的文档。例如:https://developer.apple.com/documentation/foundation/process
提供的类型方法是:
class func run(URL, arguments: [String], terminationHandler: ((Process) -> Void)? = nil)
我如何在我的代码中使用这个?比如当我按下按钮的时候?如何将清理功能添加到terminationHandler中?
发布于 2018-01-19 03:36:49
在macos应用程序中,您可以使用run启动外部进程,例如:
1)一次性处决:
let url = URL(fileURLWithPath:"/bin/ls")
do {
try Process.run(url, arguments: []) { (process) in
print("\ndidFinish: \(!process.isRunning)")
}
} catch {}2)您可能希望使用Process实例来更轻松地设置其行为,这样做:
let process = Process()
process.executableURL = URL(fileURLWithPath:"/bin/ls")
process.arguments = ["-la"]
process.terminationHandler = { (process) in
print("\ndidFinish: \(!process.isRunning)")
}
do {
try process.run()
} catch {}因此,我启动了ls命令(您可以检查控制台的结果),然后在闭包terminationHandler中返回这样的过程。
https://stackoverflow.com/questions/48333607
复制相似问题