Swift:如何在不添加segue的情况下切换回之前的UITableViewController

时间:2015-09-16 15:17:34

标签: ios swift uitableview segue

在我的iOS应用程序中,我希望在得到肯定结果后,屏幕切换回上一屏幕。在我的情况下,我将从UITableViewController切换回另一个UITableViewController。我尝试过:

self.dismissViewControllerAnimated(true, completion:nil)

但它不起作用,什么都没有出现。 我也尝试过:

let mainStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
let vc : UITableViewController = mainStoryboard.instantiateViewControllerWithIdentifier("Tasks") as UITableViewController
self.presentViewController(vc, animated: true, completion: nil)

但是我在方法viewWillAppear()中遇到“致命错误:在解包一个Optional值时意外发现nil”:

self.navigationController!.editButtonItem().title = "Modifica"

我可以避免从界面构建器添加另一个反向segue,然后执行performSegueWithIdentifier()。是不是有更快的方式?

1 个答案:

答案 0 :(得分:2)

您使用的是UINavigationController吗?如果是这样,您只需拨打navigationController?.popViewControllerAnimated(true)即可转到上一个屏幕。

如果您没有使用UINavigationController,则可以致电dismissViewControllerAnimated(true, completion: nil)以获得相同的结果。

在这两种情况下,您都不需要使用已隐含的self