Showing alert after unwind segue stops the segue. How do I make sure alert is shown after unwind segue is completed?(在展开分段停止分段后显示警报。如何确保在展开段完成后显示警报?)
本文介绍了在展开分段停止分段后显示警报。如何确保在展开段完成后显示警报?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个从A视图控制器到B视图控制器的展开段。在B中执行网络操作。操作完成后,响应将显示在A视图控制器中。
我成功地制作了这个结构。但是,有一个问题:
当我尝试显示警报时,它显示但停止了段。如何确保段完成后显示警报。
错误如下:
2016-04-27 14:39:28.350 PROJECT[9100:128844] Presenting view controllers on detached view controllers is discouraged <PROJECT.FeedTableViewController: 0x7a928c00>.
2016-04-27 14:39:28.359 PROJECT[9100:128844] popToViewController:transition: called on <UINavigationController 0x7c12a800> while an existing transition or presentation is occurring; the navigation stack will not be updated.
A:中的展开处理程序
@IBAction func unwindToFeed(segue: UIStoryboardSegue) {
jsonArray[rowFromShare!]["ApplicationDataUsers"] = jsonFromShare!
tableView.reloadData()
ShowErrorDialog("Success", message: successMessageFromShare!, buttonTitle: "OK")
}
//Error Dialog
func ShowErrorDialog(title:String, message:String, buttonTitle:String){
let alert = UIAlertController(title: title, message: message, preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default) { _ in })
self.presentViewController(alert, animated: true){}
}
展开B中的触发器:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "unwindToFeed"{
let feedTable = segue.destinationViewController as! FeedTableViewController
feedTable.rowFromShare = row
feedTable.jsonFromShare = jsonToShare
feedTable.successMessageFromShare = successMessageToShare
}
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
A=FeedTableView控制器
B=ShareTableView控制器
如何确保在段完成后显示警报?
推荐答案
如您所见,在展开段完成之前调用unwindToFeed
方法。
unwindToFeed
方法中设置一个布尔值,然后在viewDidAppear
中检查该布尔值,当您知道段已完成时。如果设置了布尔值,则可以显示警报:
@IBAction func unwindToFeed(segue: UIStoryboardSegue) {
jsonArray[rowFromShare!]["ApplicationDataUsers"] = jsonFromShare!
tableView.reloadData()
self.unwinding = true
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
if (self.unwinding) {
self.ShowErrorDialog("Success", message: successMessageFromShare!, buttonTitle: "OK")
self.unwinding=false
}
这篇关于在展开分段停止分段后显示警报。如何确保在展开段完成后显示警报?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:在展开分段停止分段后显示警报。如何确保在展开段完成后显示警报?


基础教程推荐
猜你喜欢
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01