如何将数据发送到新视图

时间:2016-06-29 19:37:42

标签: ios swift storyboard segue

请帮忙。我需要从视图发送数据到新视图。我有那个StoryBoard。 StoryBoard

在第一个视图中我有代码

override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "LEDChangesSegue" {
        let changeLED = segue.destinationViewController as? AddLED
            changeLED?.senderCell = sender as? LEDListCell
            changeLED?.ledController = sender!.ledController
            changeLED?.update = true
    }
}

当我使用push segue时这种方法有效,但现在我使用模态segue并在segue.destinationViewController 是NavigationController,而不是我的TableViewController

2 个答案:

答案 0 :(得分:1)

使用新目标作为VC来调用下一个tableViewController

Case

答案 1 :(得分:1)

每个导航控制器都有一系列呈现的控制器。如果您的Controller位于顶部(现在显示),您可以使用此代码获取它navigationController.topViewController 否则,您需要浏览所有控制器并使用此代码

let navController: UINavigationViewController = segue. destinationViewController
for let controller in navController.viewControllers {
    if let neededController = controller as? YourControllerType {
   // your action
}
}

同样,您可以使用UIViewController的IBInspectable属性创建自定义segue,该属性将控制器存储在其中。之后,您可以将您的segue投射到您的自定义segue,并从该属性中获取您的控制器。