我一直在以前的帖子中找到我的答案,尽管还没有找到这个问题的任何答案。
在故事板的帮助下创建了多个应用程序之后,我现在只使用代码制作我的第一个应用程序。
我的问题是,我只是想做一个简单的函数(在Firebase中创建用户并执行到下一个屏幕的segue(,它将在按下按钮后执行。
我可以创建一个触发segue的函数,尽管出于某种原因,似乎不可能在同一个函数中创建用户(Firebase函数,需要用户从textFields输入(。在下面定义的函数中,我不能使用我在ViewDidLoad函数中编程定义的textFields的当前用户输入,也不能在@objc函数中创建参数。
@objc func registerPressed(email: String, password: String) {
performSegue(withIdentifier: "MainVC", sender: nil)
}
我能做什么?有没有办法在上面的函数中创建参数?有没有比使用addTarget更简单/更好的方法?我可以用@IBAction电话吗?我应该在ViewDidLoad函数之前定义我的textFields吗?
不,你不能做这个
@objc func registerPressed(email: String, password: String) {
对于按钮目标选择器,因为唯一通过的参数是
@objc func registerPressed(_ sender:UIButton) {
这是合乎逻辑的,因为你认为按钮会从哪里为你获得这些参数,所以你必须为文本字段创建出口,并在发送到防火基地之前对其进行验证
BTW为按钮创建addTarget方法或将其与@IBAction
链接没有区别
有一个完全标准的模式。电子邮件和密码信息必须已存在于实例属性中。您触发segue,将调用prepare(for:)
;它从属性中获取信息,并将它们传递到目标视图控制器中。