请帮忙。我需要从视图发送数据到新视图。我有那个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
答案 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,并从该属性中获取您的控制器。