gpt4 book ai didi

ios - 无法从像 XMLParser 这样的异步函数调用 Segue

转载 作者:行者123 更新时间:2023-11-28 15:40:41 27 4
gpt4 key购买 nike

在我的 VC 中,我调用了一个 XML 网络服务。根据结果​​,我可能会转向另一家 VC。我已经从我的代码中删除了业务逻辑,只留下重要的部分。这是我的代码的简短版本:

func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?)
{
performSegue(withIdentifier: "userDidRequestReset", sender: nil)
}

我什至有一个 prepareForSegue 并且它被调用:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let destinationVC = segue.destination as! ResetViewController
destinationVC.username = txtUsername.text!
}

但是,无论有没有 prepareForSegue,它实际上都不会转到下一个 VC。为什么它不起作用?

注意:我也试过添加 self.在 performSegue 之前,但仍然没有运气。

编辑:我的performSegue 在按钮操作等其他地方工作得很好,只是在 XMLParser 函数中没有。

最佳答案

也许从主线程执行 segue 就可以完成这项工作:

func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?)
{
DispatchQueue.main.async {
performSegue(withIdentifier: "userDidRequestReset", sender: nil)
}
}

关于ios - 无法从像 XMLParser 这样的异步函数调用 Segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43739053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com