2015-09-16 24 views
0

在我的iOS應用程序中,我希望在獲得積極結果後,切換回前一個屏幕。在我的情況下,我會從一個UITableViewController切換回另一個UITableViewController。我曾嘗試過:Swift:如何切換回到之前的UITableViewController而不添加segue

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中():

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

我用自己能避免從界面生成器添加另一個反向segue,然後執行performSegueWithIdentifier()。沒有更快的方法嗎?

回答

2

您使用的是UINavigationController?如果是這樣,您只需撥打navigationController?.popViewControllerAnimated(true)即可轉到上一個屏幕。

如果您未使用UINavigationController,則可以撥打dismissViewControllerAnimated(true, completion: nil)以獲得相同的結果。

在這兩種情況下,您都不需要使用self,因爲它已經暗示了。

+0

好吧,它可以完美的與navigationController?.popViewControllerAnimated(true)但我不得不使用「self」:XCode需要我,因爲我處在一個處理來自NSURLSession.sharedSession()完​​成的數據庫響應的閉包中。 dataTaskWithURL() –

+1

啊,在這種情況下,是的,你需要自我。 – rayvinly

相關問題