我没有问题要你解决。我只想清楚一点。首先,让我解释一下我在做什么。
我有一个 View Controller ,可以调用 PHP 脚本来检索 json。在处理过程中,我显示了一个显示进度的 activityViewController。在检索到此数据后,立即进行另一个调用以通过电子邮件发送数据。在进行电子邮件调用之前,activityViewController 关闭并在新函数中打开一个新的,显示电子邮件发送过程的进度。完成后,将显示一条警报。
所有这些都有效,但我必须做一些事情才能让 View Controller 移动到下一个 View Controller ,而不会出现“警告:尝试在 [ViewController] 上呈现 [ViewController],同时已经呈现”。我不得不在代码中添加延迟,以允许在下一次尝试打开之前成功关闭前一个 View Controller 。就像我说的,这很顺利,延迟是 0.3 秒。相当快。
但是我想知道的是,viewcontroller 会不会在某些设备上缓慢关闭,运行超过 0.3 秒然后抛出错误?
我只想在这里学习.. :)
非常感谢任何信息。
最佳答案
您可以在呈现或关闭 View Controller 后使用完成处理程序。如果使用它,那么您的 View Controller 将摆脱这些警告,并且您的 Controller 将显得又厚又快,没有任何计时器。
aViewController.dismiss(动画:真){
viewController.present(另一个ViewController,动画:true,完成:nil)
}
关于ios - 在彼此 swift 3 之后直接关闭和打开新的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44288157/