如何在iOS中将数据从一个视图控制器传递到另一个

时间:2018-06-21 03:48:23

标签: ios segue viewcontroller

我正在尝试将数据从一个视图控制器传递给另一个, 在这里,我正在使用按钮执行搜索

 @IBAction func entered(_ sender: UIButton) {
    performSegue(withIdentifier: "segue1", sender: self)
}

并且我已经检查了标识符的正确拼写,并且当我单击输入按钮时出现错误

  

2018-06-21 09:08:26.859232 + 0530 passData2 [2886:91217] ***由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'-[UITableViewController loadView]实例化了具有标识符“ UIViewController-情节提要“ Main”中的“ 2KP-T7-TXr”,但没有获得UITableView。'

任何人都知道为什么会出现

1 个答案:

答案 0 :(得分:1)

第一次检查这些东西...

  • 确保您输入的名称正确。我将遵循的步骤

  • 添加一个UIViewController / UITableviewcontroller

  • 嵌入导航控制器

  • 添加一个tableview(连接数据源并委托并退出它的存在)

  • 添加一个StoryboardId

  • 复制并粘贴该名称并将其添加到实现push的代码中

  • 从模拟器构建中删除该应用,然后再次运行。

然后尝试一下...

将您的超类更改为UIViewController或将情节提要中的控制器更改为TableViewController

@interface MTViewController : UIViewController, UITableViewDataSource, UITableViewDelegate

@end

供您参考...

在Swift中的视图控制器之间传递数据可以通过以下不同方式完成:

1   By using an instance property (A → B)
2   By using segues (for Storyboards)
3   By using instance properties and functions (A ← B)
4   By using the Delegation pattern
5   By using a closure or completion handler
6   By using NotificationCenter and the Observer pattern

尝试阅读此link