Ios 从modal segue Swift访问父视图

Ios 从modal segue Swift访问父视图,ios,swift,segue,parent-child,Ios,Swift,Segue,Parent Child,我有一个视图控制器-NewsController,它有一个进入newsdailcontroller 在newsdailcontroller中,我尝试运行以下函数: @IBAction func greenLikeClick(sender: AnyObject) { if let parentVC = self.parentViewController as? NewsController { parentVC.newslists[loadsection][loadrow

我有一个视图控制器-
NewsController
,它有一个进入
newsdailcontroller

newsdailcontroller
中,我尝试运行以下函数:

@IBAction func greenLikeClick(sender: AnyObject) {

    if let parentVC = self.parentViewController as? NewsController {
        parentVC.newslists[loadsection][loadrow].liked = false
    }
}
但这行不通

这里的
NewsController
NewsDetailController
之间是否存在父子关系

如果是这样,为什么我的方法不起作用


如果没有,我将如何处理此问题?

您应该在
NewsDetailController
中使用
self.presentingViewController
来获取您的
NewsController
。从文件中:

使用presentViewController:animated:completion:方法以模式(显式或隐式)显示视图控制器时,显示的视图控制器将此属性设置为显示它的视图控制器


当我的赛格被推的时候,我就是这样做的:

if let presenter = self.navigationController?.viewControllers[0] as? MainViewController {
        // access presenters members

}
当我的segue出现的时候:

if let presenter = self.presentingViewController?.children[0] as? MainViewController  {
        // access presenters members
}

如果有多个子级或ViewController索引,则应管理这些子级或ViewController索引。我的是单身,所以0成功了。

我用
self.presentingViewController
替换了
self.parentViewController
。。。不幸的是,没有运气。举一个简单的例子,这是有效的。你的音乐到底是什么类型的?它是一种现代的
Present
segue。这会导致任何问题吗?很抱歉,如果你感到困惑的话,那么就换了账户。我的错。不,它很好,它应该是一个礼物。至少,您能给您的newsController一个标题并将其记录在您的
NewsDetailController
中吗?使用
presentingViewController.title?
我解决了问题
presentingViewController
给了我一个主选项卡控制器,它小时候包含了
newcontroller
。所以我说让childOfTab=parentVC.childViewControllers[0]作为!NewsController,并使用了此选项。谢谢你的帮助!