Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift 4放卷段在导航控制器上不工作_Ios_Swift_Segue - Fatal编程技术网

Ios Swift 4放卷段在导航控制器上不工作

Ios Swift 4放卷段在导航控制器上不工作,ios,swift,segue,Ios,Swift,Segue,我正在Swift 4中开发一个应用程序,我正在尝试解开一段。我有一个表视图控制器,当用户选择一个单元格时,segue发生在一个导航控制器上,它与我拥有的另一个控制器具有根视图控制器的关系UIViewController。在ui视图控制器中,我在导航项中有一个ui按钮,通过选择该按钮并拖动退出,我用ui按钮设置了“展开”,并且在UITableViewController中有展开代码,如下所示: override func prepare(for segue: UIStoryboardSeg

我正在Swift 4中开发一个应用程序,我正在尝试解开一段。我有一个表视图控制器,当用户选择一个单元格时,segue发生在一个导航控制器上,它与我拥有的另一个控制器具有根视图控制器的关系
UIViewController
。在
ui视图控制器
中,我在导航项中有一个
ui按钮
,通过选择该按钮并拖动退出,我用ui按钮设置了“展开”,并且在
UITableViewController
中有展开代码,如下所示:

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
            if segue.identifier == "segueRSVP" {
            }
        }



    @IBAction override func unwind(for unwindSegue: UIStoryboardSegue, towardsViewController subsequentVC: UIViewController) {
        print("Here")
    }
但是什么也没发生,它甚至没有被触发

以下是我的截图:


将此展开添加到RSVP控制器:

@IBAction func unwindToThisViewController(segue: UIStoryboardSegue) {
    print("IM BACK")
}
然后control+将详图控制器中的按钮拖到出口处,并选择方法:unwindToThisViewController

刚刚在xcode swift 4上测试过,应该可以正常工作


我不知道为什么,但当我“覆盖”展开时,它对我也不起作用,因此我设置了自己的ibaction

将此展开添加到您的RSVP控制器:

@IBAction func unwindToThisViewController(segue: UIStoryboardSegue) {
    print("IM BACK")
}
然后control+将详图控制器中的按钮拖到出口处,并选择方法:unwindToThisViewController

刚刚在xcode swift 4上测试过,应该可以正常工作


我不知道为什么,但当我“覆盖”展开时,它对我也不起作用,所以我设置了自己的ibaction(ibaction)

在我的例子中,是用
@objc
关键字标记swift unwind func

@objc func unwindToThisViewController(segue: UIStoryboardSegue) { ... }

希望这能奏效。

在我的例子中,是用
@objc
关键字标记swift unwind func

@objc func unwindToThisViewController(segue: UIStoryboardSegue) { ... }

希望这能起作用。

将tableview放入导航控制器中,您甚至不需要“展开”序列或按钮。您在我的屏幕截图中看不到,但是在tableview控制器上方有一个导航控制器……因此,它会转到导航控制器->tableview->导航控制器->UIViewController,然后删除第二个导航控制器,并使用
show
segue显示rsvp场景在导航控制器中输出tableview,然后您甚至不需要松开segue或按钮。在我的屏幕截图中看不到,但是在tableview控制器上方有一个导航控制器……因此,它会转到导航控制器->tableview->导航控制器->UIViewController,然后删除第二个导航控制器,并使用
show
segue来显示rsvp场景。hmm删除此项:
override func prepare
。然后删除
@iAction override func unwind
,看看这是否会影响hmm删除此项:
override func prepare
。然后移除
@IBAction override func unwind
,看看是否这样做