如何将数据发送到新视图[重复]

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

【讨论】:

太好了,不客气!

以上是关于如何将数据发送到新视图[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将选定的 uitableview 行发送到新创建的组

如何将数据从一个视图控制器发送到另一个视图控制器[重复]

Vue js将数据从api发送到新页面

如何使用ajax将数据从视图发送到控制器laravel?

将数据从集合视图单元格移动到新的集合视图单元格

如何使用 Alamofire 和 SwiftyJSON 将数据发送到表视图