为啥完成不起作用?完成问题

Posted

技术标签:

【中文标题】为啥完成不起作用?完成问题【英文标题】:Why is the completion not working? completion issue为什么完成不起作用?完成问题 【发布时间】:2019-01-29 12:49:39 【问题描述】:

为什么完成不工作?

警报出现后,它不会转换到另一个 viewController

self.present(self.alertController2, animated: true, completion:                            
    self.performSegue(withIdentifier:"goToLogin", sender: self)
)

【问题讨论】:

您是否检查了标识符:您是否在 Interface Builder 中设置了它的 ID?如果是,则必须完全相同,包括小写/大写 但是按照您的方式在完成中使用 segue 并不是一个好主意:警报会显示,但在触发 segue 时会立即消失。 我已经检查了 ID 是否相同 【参考方案1】:

Self.present 用于将此操作添加到视图中。您需要将此代码添加到您的 handler 处理程序中,意思是 It means what will I do when you click OK

let alertbutton = UIAlertAction(title: "OK", style: .destructive, handler:  
(UIAlertAction) in
            self.performSegue(withIdentifier: "your id", sender: self)
        )

完整示例:

let alert = UIAlertController(title: "Its empty", message: "Going another view", preferredStyle: .alert)
        let alertaction = UIAlertAction(title: "OK", style: .destructive, handler:  (UIAlertAction) in
            self.performSegue(withIdentifier: "your segue id", sender: self)
        )
        alert.addAction(alertaction)
        self.present(alert, animated: true, completion: nil)

【讨论】:

【参考方案2】:

您应该先编写代码进入新视图代码运行,然后在主线程中显示警报以显示警报。

DispatchQueue.main.async 
//                    AlertView.showAlert(title: Messages.Network.title, message: Messages.Network.message)
//                

【讨论】:

以上是关于为啥完成不起作用?完成问题的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的完成块不起作用?

知道为啥这个 Jquery 自动完成功能不起作用吗?

为啥使用 jQuery 和 PHP 的多项选择自动完成功能不起作用?

为啥java更新查询不起作用?

为啥fadeIn() 函数不起作用? [关闭]

为啥这个键盘拦截内核扩展不起作用?