簡體   English   中英

使用Storyboard和Swift進行過渡而不會丟失數據

[英]Transition without loose data with Storyboard and Swift

我正在用Swift開發一個新項目,但是我遇到了一個很大的問題。

我有三個viewControllers:

1.-調用Web服務,獲取JSON並將此JSON傳遞到第二個視圖

2.-解析數據並將數據放入視圖中(tableview,一切正常)。 在此視圖下,我使用一個按鈕轉到另一個視圖(到視圖3)。 我什么也不需要通過。

3.-我嘗試返回到視圖2,但是視圖為空,因為在表視圖中定位的數據是從視圖1傳遞的。

我嘗試了很多解決方案:

  • navigationController!.dismissViewControllerAnimated(false,complete:nil)->如果我將情節提要鏈接到從視圖3到視圖2的過渡中,則視圖2為空,如果我未在情節提要中鏈接->展開包裝時意外發現nil可選值

  • 如果我更改“!” 為“?” 沒做什么

  • 我測試過的每個代碼都一樣。

我的代碼是:

視圖1到視圖2 :(在情節提要(IB)的可視部分中連接)

@IBAction func goRecibosPendientes(sender: UIButton) {

        let controllerVC = self.storyboard!.instantiateViewControllerWithIdentifier("recibos") as! TablaRecibosTableViewController

        controllerVC.initWithJSON(self.jsonReceived)
        self.presentViewController(controllerVC, animated: true, completion: nil)
    }

視圖2到視圖3 :(在情節提要(IB)的可視部分中連接)

@IBAction func goToTablaProveedoresDeServicios(sender: UIButton) {

        let controllerVC = self.storyboard!.instantiateViewControllerWithIdentifier("proveedoresDeServicios") as! TablaProveedoresDeServicios
        self.presentViewController(controllerVC, animated: true, completion: nil)
    }

視圖3到2:我嘗試各種方法(我知道的每種方法,不是每種方法)

@IBAction func backPressed(sender: UIButton) {

        navigationController!.dismissViewControllerAnimated(false, completion: nil)
        navigationController!.dismissViewControllerAnimated(true, completion: nil)
        navigationController!.popToRootViewControllerAnimated(true)
    }

非常感謝。

如果您使用NavigationController不是嘗試push視圖控制器,它將保留您先前的視圖在堆棧中。

self.navigationController.pushViewController(controllerVC, animated: true)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM