我如何使用 performSegue 到达另一个 UIViewController?

How do I use performSegue to get to another UIViewController?

我试图将我的 ViewController 连接到一个集合 ViewController,两者之间有一个 segue。我从 ViewController 控制并单击到 CollectionView Controller 并选择了 'show detail' segue,然后使用以下代码制作了一个按钮:

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    print("ViewController loaded")
}

@IBAction func EditCharacterSetPressed(_ sender: UIButton) {
    self.performSegue(withIdentifier: "CollectionViewSegue", sender: self)
}

当我按下模拟器中的按钮时,它给我这个错误信息:

我该如何解决这个问题?它是否与关于我的 CollectionView 的这些其他警告有关?:

我有一个标识符,所以这不是问题所在:

编辑:问题是,他有 non-existent IBAction 连接到他的按钮。

你的 segue 似乎在你的情节提要中没有标识符。根据您的代码,它应该是

CollectionViewSegue

关于您的 collection 视图单元格。如果我没记错的话(objective-c 几年前)xcode 正在创建新 Cell 的实例而不是 re-using 任何现有的实例,因为您没有定义原型单元。

您可以(并且应该)创建一个单元格(在故事板中,或纯粹在代码中),为该单元格设置一个标识符并在您的 table 视图控制器(或者在这种情况下在您的collection 查看)。

我猜你才刚刚开始开发,所以我建议你学习几个教程(例如 http://www.thomashanning.com/uitableview-tutorial-for-beginners/