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,我想通过编程来实现。它比我想象的要简单。谢谢