从视图控制器转至表视图控制器

Make a segue to a tableview controller from a view controller

当以编程方式在我的视图控制器中点击按钮时,我试图对 table 视图控制器进行 segue。这是我的代码:

@objc func editProfileButtonAction(sender: UIButton!) {
    print("ButtonTapped")
    
    func prepare(for segue: UIStoryboardSegue, sender: Any?) {
      if let identifier = segue.identifier {
        if identifier == "EditProfile" {
            var editProfileTableViewController = segue.destination as! EditProfileTableViewController
          editProfileTableViewController = self
        }
      }
    }
    
}

我真的需要一些帮助。我还需要使用同一视图控制器中的按钮对集合视图控制器进行 segue。

确保 Storyboard 中的 segue 具有准确的标识符:“EditProfile”。通常我在开头用小写字母写标识符。您还需要为 Segue 做准备。例如设置委托:

  // Set ViewController class as the delegate of the EditProfileTableViewControllerDelegate protocol
  override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let identifier = segue.identifier {
      if identifier == "EditProfile" {
        let editProfileTableViewController = segue.destination as! EditProfileTableViewController
        editProfileTableViewController = self
      }
    }
  }

在我编码的时候,我删除了所有的故事板,因为有太多我无法解决的错误。现在我正在以编程方式完成这一切。起初,我自己设置所有视图有点困难,但毕竟我很高兴我不再使用故事板了。对于一些我需要 xib 的东西,以及测试故事板。只要您感兴趣:大多数 iOS 程序员都在使用故事板,所以如果您继续这样做也没关系。 以编程方式完成这一切的优点是不再有 segue。所以只是呈现,并在导航 VC 的推送、弹出、...

好的,澄清一下。无法以编程方式创建 segue。 Segues 是故事板上从一个链接到另一个 VC 的箭头。他们被称为:performSegue。这会调用函数 prepare。

如果你想在点击一个按钮时显示一个新的VC(没有segue),那么你可以在里面使用present(VC(), animated: true, completion: nil) }按钮功能。 VC 模态呈现。

@objc func editProfileButtonAction(sender: UIButton!) {
    print("editProfileButtonAction")
    present(EditProfileTableViewController(), animated: true, completion: nil)
}