我正在尝试获取 facebook 值,例如姓名和电子邮件,并将它们传输到另一个 View Controller ,在那里它们填充相应的文本字段。但是,当我尝试使用此代码填充文本字段时
let fbEmail = data["email"]
let fbName = data["name"]
func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let vc = segue.destination as? CreateAccountVC
vc!.emailTxt = self.fbName
vc!.fullnameTxt = self.fbEmail
}
我收到一条错误消息“无法将类型字符串分配给类型 UITextField!”我在这里很困惑,因为我认为文本字段只接受字符串(我对编码/编程很陌生)。
所以基本上,我如何将这些值收集到一个 View Controller 中以填充另一个 View Controller 中的文本字段?任何帮助将不胜感激!谢谢!
最佳答案
错误原因是您需要将其分配给 UITextField
的文本属性。
您也可以使用变量来设置它们。并在 CreateAccountVC
Controller 的 viewDidLoad
函数中设置 textfield
的值。像这样:
你的第一个 Controller ,你在其中获取 facebook 值:
let fbEmail = data["email"]
let fbName = data["name"]
func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let vc = segue.destination as? CreateAccountVC {
vc.emailTxtValue = self.fbName
vc.fullnameTxtValue = self.fbEmail
}
}
您的 CreateAccountVC :
class CreateAccountVC: UIViewController {
var emailTxtValue:String?
var fullnameTxtValue:String?
override func viewDidLoad() {
super.viewDidLoad()
emailTxt.text = emailTxtValue
fullnameTxt.text = fullnameTxtValue
}
}
关于ios - 将字符串分配给另一个 View Controller 中的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43453175/