如何解决Swift Process() 和 Xojo Shell
一个会说 Swift 和 Xojo 的人的问题......
由于 Xojo 中的 shell 对象可以同步和异步运行,那么 Swift Process() 如何以相同的方式运行?
使用 Xojo,我可以运行 shell 并在从正在运行的进程接收到数据时做出相应的响应,从而不会在长时间的进程中锁定 UI。
使用 Swift 我只知道如何运行 Process() 并一次性处理结果数据。
任何熟悉 Swift Process() 的人都可以向我提供任何见解吗?
解决方法
在 swift 中,您可以异步运行调度队列中的进程。
DispatchQueue.main.async {
// your task here
}
DispatchQueue.global(qos: .userInitiated).async {
// your task here
}
DispatchQueue.global(qos: .background).async {
// your task here
}
在您的情况下,我建议您在 GitHub 上搜索 swift “shell” 包。
如果您不想使用包,您会在搜索 DispatchQueue async 时找到很多示例。
最好的开始:
https://www.hackingwithswift.com/read/9/4/back-to-the-main-thread-dispatchqueuemain
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。