ios - 将字符串分配给另一个 View Controller 中的文本字段

标签 ios swift facebook facebook-graph-api swift3

我正在尝试获取 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/

相关文章:

objective-c - 当 Objc-C 桥接到 Swift 时如何查看方法签名,反之亦然?

ios - NSJSONSerialization 在验证应用程序收据时导致 Swift 崩溃

java - 使用restfb获取页面访问 token 的正确方法是什么?

带有 C++Lucene 库的 IPAD 的 C++ 应用程序

ios - 我是否需要为我的 iOS 应用程序使用 Spotlight 扩展程序?

email - Facebook 在电子邮件中分享

javascript - 加载 facebook wall feed JSON 问题

ios - AVAudioRecorder 通过加速 FFT 进入频率 - EXECUTION

当我使用 subview 调用父 View 时,iOS UIPageControl 不显示正确的页码

ios - sizeWithFont 内存泄漏 :constrainedToSize:lineBreakMode: