Swift 如何以编程方式编写func..(对于续集:uistoryboardsque,发送者:Any?)

Swift 如何以编程方式编写func..(对于续集:uistoryboardsque,发送者:Any?),swift,segue,programmatically,Swift,Segue,Programmatically,当我使用故事板时,我有以下代码: override func prepare (for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == ProfilePhotoViewController.identifier { guard let username = usernameTextField.text, let email = emailTextField.text, let passwor

当我使用故事板时,我有以下代码:

 override func prepare (for segue: UIStoryboardSegue, sender: Any?) {

    if segue.identifier == ProfilePhotoViewController.identifier {
      guard let username = usernameTextField.text, let email = emailTextField.text, let password = passwordTextField.text else { return }

      let profilePhotoVC = segue.destination as! ProfilePhotoViewController
      profilePhotoVC.email = email
      profilePhotoVC.username = username
      profilePhotoVC.password = password
    }
  }
如果我不使用故事板并以编程方式编写这些代码,以便将信息从当前控制器传递到ProfilePhotoViewController,我该如何编写这些代码

编辑: 在做了研究之后,我明白以编程的方式来做这件事是通过委派来完成的。但是,我不知道如何完成代码:

需要从SignUpController->profilePhotoViewController传递用户名、电子邮件和密码

在注册控制器中:

协议注册控制器delegate{ func handleSignUp(//我应该在这里写什么?) }

var代表:注册ControllerDelegate

@objc func handleSignUp(){

//…其他代码//

代表?.handleSignUp(/?) }

在ProfileViewController中:

我应该写些什么来接收来自SignUpController的用户名、电子邮件和密码信息?

像这样试试

guard let username = usernameTextField.text, let email = emailTextField.text, let password = passwordTextField.text else { return }

let profileVC = ProfilePhotoViewController()
profileVC.email = email

我们可以创建具有/不具有NIB文件的视图控制器

对于NIB,您可以使用
init(nibName:String?,bundle:bundle?
方法。在这种情况下,将使用Interface Builder定义视图

// bundle = nil denote the main bundle
let viewController = MyViewController(nibName:"MyViewController", bundle: nil)
您还可以定义一个自定义的
UIViewController
子类,而不使用NIB文件,并实现
loadView()
方法

override func loadView() {
    self.view = UIView(...)
}
之后,我们需要将视图添加到视图层次结构中

self.view.addSubview(viewController.view);
// or
self.present(viewController, animated: false, completion: nil)
// or if we have UINavigationController
self.navigationController?.pushViewController(viewController, animated: false)

感谢您的输入,在做了一些研究之后,我发现以编程方式进行操作是通过委托方法实现的。你知道怎么做吗?我不想使用故事板和nib,我想通过编程来实现。它比我想象的要简单。谢谢