Arrays 将json数组传递给另一个视图控制器,并使用segue以不同的标签显示它

Arrays 将json数组传递给另一个视图控制器,并使用segue以不同的标签显示它,arrays,json,swift,Arrays,Json,Swift,我想将json数组发送到另一个视图控制器,并在另一个视图控制器中以不同的标签显示它 var sendData = [String: AnyObject]() sendData = datas print("Send Data : \(sendData)") DispatchQueue.main.async { self.performSegue(withIdentifier: "checkLoginViewController", sender: sendData) } override

我想将json数组发送到另一个视图控制器,并在另一个视图控制器中以不同的标签显示它

var sendData = [String: AnyObject]()
sendData = datas
print("Send Data : \(sendData)")
DispatchQueue.main.async {
   self.performSegue(withIdentifier: "checkLoginViewController", sender: sendData)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if let destinationVC = segue.destination as? signUpViewController {
            if let sendmyArray = sender as? [String]{
                destinationVC.myarray = sendmyArray
            }
}
signUpViewController.swift:

var myarray = [String]()
var myemail = ""
var myname = ""

override func viewDidLoad() {
    super.viewDidLoad()
    MynameLabel.text = myname
    nameTextfield.text = myemail
    myarray = [myemail,myname]
    print(myarray)        
    print(myemail)
    print(myname)
}

我能够获取数组,但我无法将数组发送到另一个视图控制器,我必须以不同的标签显示它

您将数组和字典混淆了

  • sendData
    是字典(
    [String:AnyObject]
  • myarray
    是数组(
    [String]
当然可以选择向下广播
发送者身份?[String]
失败,因为发件人是字典

因为源是一个带有
字符串的字典
键和值将代码更改为

var sendData = [String: String]()

...

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
   if let destinationVC = segue.destination as? signUpViewController,
      let sendmyDictionary = sender as? [String: String] { 
         destinationVC.myDictionary = sendmyDictionary
   }
}
在第二个控制器中

var myDictionary = [String: String]()

override func viewDidLoad() {
    super.viewDidLoad()

    MynameLabel.text = myDictionary["name"]
    nameTextfield.text = myDictionary["email"]
}


注意:Swift 3+中的未指定值类型字典是
[String:Any]
,根据命名约定,变量名应该以小写字母开头。

您将立即覆盖它
myarray=[myemail,myname]
因此我如何在文本字段“MynameLabel”和“nameTextfield”中显示它是我的方法错了吗@我不懂你的意思。数组应该包含JSON数据还是两个文本字段的值?如果我想将两个数据传递给下一个视图控制器,可以吗?在将它传递给下一个视图控制器后,我想在不同的标签上显示它,我该如何做阵列包含两个数据[名称:sandesh,电子邮件:sandesh@gmail.com]但我想将两个数据传递给另一个视图控制器,在下一个视图控制器中,我想在文本字段中显示它,例如:FirstVC:name:sandesh电子邮件:sandesh@gmail.com这些是我通过json获得的数据,现在我想发送这些数据,并希望在TextFieldsOry中显示这些数据,以便稍后回复。。。it工人非常感谢@vadian