Ios 解雇和提交UIViewController时的巨大延迟

Ios 解雇和提交UIViewController时的巨大延迟,ios,swift,protocols,Ios,Swift,Protocols,我有一个应用程序具有UICollectionView。当用户点击单元格(而非单元格本身)上的按钮时,自定义弹出窗口UIViewController会出现,并在UITableView中显示选项列表。当用户点击其中一个选项(行)时,当前自定义弹出窗口UIViewController将被取消,并显示一个新的UIViewController。我使用委托/协议来实现这一点 我的问题如下。当我点击其中一个选项时,会有一个很长的延迟1-4秒,然后它会变小,并显示另一个UIViewController。在其他时

我有一个应用程序具有
UICollectionView
。当用户点击单元格(而非单元格本身)上的按钮时,自定义弹出窗口
UIViewController
会出现,并在
UITableView
中显示选项列表。当用户点击其中一个选项(行)时,当前自定义弹出窗口
UIViewController
将被取消,并显示一个新的
UIViewController
。我使用委托/协议来实现这一点

我的问题如下。当我点击其中一个选项时,会有一个很长的延迟1-4秒,然后它会变小,并显示另一个
UIViewController
。在其他时候,它是即时的,没有延迟。当出现延迟时,我在控制台中发现以下错误消息。有人能提供建议吗?我目前在indexPath[0,2]行中遇到此问题-请参见下面的内容

错误消息:

myApplicationName[7141:3954956][BoringSSL]函数BoringSSL_会话_错误日志:第2881行[BoringSSL_会话_读取]SSL_错误_零返回(6):操作失败,因为连接已完全关闭并发出关闭通知警报

My
UITableView
点击行的代码:

class MoreOptionsOnPDFViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    ....

    var moveDocDelegate: MoveFolder!

    // TAP ON ROW
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        if indexPath == [0,0]{ // EDIT FILE NAME
            print("EDIT FILENAME")

        } else if indexPath == [0,1]{ // EDIT TAGS

            print("EDIT DOCUMENT")

        }else if indexPath == [0,2]{ // MOVE FOLDER

            guard let scanID = self.scanID else{return}
            if let scanID = self.scanID{
                // SHOW MOVE DOCUMENT UIVIEWCONTROLLER
                dismiss(animated: true) {
                    self.moveDocDelegate.moveDocument(scanId: scanID)
                }
            }

        } else if indexPath == [0,3]{ // SHARE DOCUMENT
            print("SHARE DOCUMENT")

            if let pdfURL = self.pdfURL{
                self.sharePDF(pdfURL: pdfURL)
            }

        } else if indexPath == [0,4]{ // BIN

        }
    }
}
其他类别:

 class CollectionViewFolder: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate ,UICollectionViewDelegateFlowLayout, MoreInfoDocument, MoveFolder{

    // SHOW MOVE FOLDER OPTIONS
    func moveDocument(scanId: String) {

        let moveFolderVC = storyboard?.instantiateViewController(withIdentifier: "movefolder") as! MoveFolderViewController

        moveFolderVC.scanId = scanId
        present(moveFolderVC, animated: true, completion: nil)

    }
}
这是自iOS 8以来的最新版本。有一个解决办法:

DispatchQueue.main.async {
    present(...) or dismiss(...)
}
这是自iOS 8以来的最新版本。有一个解决办法:

DispatchQueue.main.async {
    present(...) or dismiss(...)
}

这很奇怪。我也不指望苹果会有这样的错误。此外,我们还有iOS 11。@subdan-我被杀了。谢谢大家!@什乌·汗——在这个例子中。到目前为止,它已经解决了我的问题…没有更多的延迟或极端的延迟…到目前为止cell@Sh_Khan请你详细说明一下好吗?我很感激。这很奇怪。我也不指望苹果会有这样的错误。此外,我们还有iOS 11。@subdan-我被杀了。谢谢大家!@什乌·汗——在这个例子中。到目前为止,它已经解决了我的问题…没有更多的延迟或极端的延迟…到目前为止cell@Sh_Khan请你详细说明一下好吗?我会很感激的。