如何将数据发送到新视图[重复]
Posted
技术标签:
【中文标题】如何将数据发送到新视图[重复]【英文标题】:how send data to new view [duplicate] 【发布时间】:2016-06-29 19:37:41 【问题描述】:请帮忙。我需要将数据从视图发送到新视图。我有那个故事板。 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
【问题讨论】:
【参考方案1】:每个导航控制器都有一系列呈现的控制器。同样,如果您的控制器位于顶部(现在显示),您可以使用此代码获取它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,并从该属性中获取您的控制器。
【讨论】:
【参考方案2】:使用新的目的地作为 VC 来调用你的下一个 tableViewController
let destination = segue.destinationViewController
if let navcon = destination as? UINavigationController
destination = navcon.visibleViewController!
if let hvc = destination as? TableViewController
// do whatever
【讨论】:
太好了,不客气!以上是关于如何将数据发送到新视图[重复]的主要内容,如果未能解决你的问题,请参考以下文章