微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift Process() 和 Xojo Shell

如何解决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 举报,一经查实,本站将立刻删除。