我想把我的数据传递给其他的viewcontroller,但我做不到。我的密码在下面。ViewControllers的屏幕截图在这里。当用户写出他们的名字和密码时,我想传递另一个用户的数据,但他们之间还有一个viewcontroller。我认为这是一个问题,但我可以移除这个额外的视图控制器,所以我想了解如何才能把这些数据传递给其他的一个?
第一个viewcontroller的代码
import UIKit
import Firebase
class OdayaKatilVC: UIViewController {
@IBOutlet weak var OdaAdiTextField: UITextField!
@IBOutlet weak var OdaSifresiTextField: UITextField!
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { AKTARMAK İÇİN İF DÖNGÜSÜNE GİRMİYOR 26 MART CUMA
print("gönderme işlemi başarılı olacak")
if segue.identifier == "segue" {
print("gönderme işlemi başarılı olacak2")
let destinationController = segue.destination as! OdaBilgileriVC
destinationController.odaAdiF = OdaAdiTextField.text!
destinationController.odaSifreF = OdaSifresiTextField.text!
print("gönderme işlemi başarılı")
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}`
@IBAction func OdayaGecisYapButton(_ sender: Any) {
let email = OdaAdiTextField.text ?? ""
let pass = OdaSifresiTextField.text ?? ""
if email.isEmpty {
Common.showAlert(title: "Bir şey unuttun!", message: "Oda adını yazmayı unutmayın.", vc: self)
return
}
if pass.isEmpty {
Common.showAlert(title: "Bir şey unuttun!", message: "Oda şifresini yazmayı unutmayın.", vc: self)
return
}
Auth.auth().signIn(withEmail: String("\(email)@question.com"), password: "\(pass)123456") { (result, error) in
if error != nil {
_ = self.navigationController?.popViewController(animated: true)
print(error?.localizedDescription as Any)
let alert = UIAlertController(title: "Bir şeyler yanlış!", message: "Oda adı veya şifre hatalı.", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Tamam", style: .default, handler: nil))
self.present(alert, animated: true)
return
}else{
print("Odaya başarılı şekilde giriş yapıldı.")
}
}
}
第二个viewcontroller的代码
import UIKit
import Firebase
class OdaBilgileriVC: UIViewController {
@IBOutlet weak var odaAdilbl: UILabel!
@IBOutlet weak var odaSifresilbl: UILabel!
var odaAdiF = String()
var odaSifreF = String()
override func viewDidLoad() {
super.viewDidLoad()
odaAdilbl.text = odaAdiF
odaSifresilbl.text = odaSifreF
// Do any additional setup after loading the view.
}
当我运行代码时,我看不到数据。第二个viewcontrollers上的标签为空。
有许多方法可以在ViewControllers之间传递数据。请参阅以下链接
https://stackoverflow.com/A/31934786/11662833
https://learnappmaking.com/pass-data-between-view-controllers-swift-how-to/
你只需要点击故事板中的segue和添加segue标识符名称从侧板,我有附上的图片供参考
我有两个viewController,分别命名为viewController和我想获取数据并使用委托将其发送到secondViewController。另外,我在secondViewController中有一个数组,当每个数据来自VC1时,它必须存储数据,如; segue1,第一个数据来了->arrayElements{firstData}segue2,第二个数据来了->arrayElements
我正试图将数据从第一个ViewController发送到第二个ViewController。 然后我尝试将它发送到我的另一个ViewController: 致命错误:在展开可选值时意外发现nil 我的第二个视图控制器:
我的应用程序包含5个ViewControllers的TabBar控制器可以单击每个viewcontrollers中的一个按钮,该按钮将弹出另一个视图,用户可以在其中选择一个设置。按钮(被点击)应该根据每个ViewController中选择的设置来改变其背景。因此,如果用户点击VC1中的按钮并选择设置,该信息应该传播到所有其他VC中,以便按钮具有相同的背景。 我正在使用故事板,我知道这很容易在2VC
我知道如何在直接依赖的ViewController之间建立“正常”委派。所以如果我说,我必须从一个视图发送一个消息到它上面的一个,我知道怎么做。但是,如果两者之间有更多的ViewControllers,我如何设置委托呢? 假设我有一个根据方案的设置: ViewController1->ViewController2->ViewController3(通过ButtonPressed)(通过Butto
问题内容: 我在页面上有一个组件的两个实例(搜索字段),在它们之间有另一个组件(进行服务器调用的按钮),例如: 我要做的只是将一个未修改的参数从CardSearch字段传递到RunOnServer按钮,但是如果简单的话,我该死的。据此,我可以使用this.state.var作为道具,但是这样做可以在编译代码时给我’undefined.state.var’。React的官方文档并不出色。他们只是告诉
我正在创建一个用户设置帐户使用故事板的5个步骤。每个步骤都有一个ViewController:1:)输入姓名、联系人等,2:)导入照片,3:)输入等4:)更多输入5:)确认页面,如果用户点击“确认”->获取所有输入并上传解析。 我在网上搜索时得到的唯一解决方案是创建一个函数“Prepare for Segue”并传递信息...但对我来说,这没有任何意义: 如果我有1000个viewcontroll