【问题标题】:how to pass json data other view controller如何将json数据传递给其他视图控制器
【发布时间】:2017-03-24 10:30:14
【问题描述】:

大家好,我正在从服务器获取数据,即:

{


  error = 0;

  "error_msg" = "Successfully Login";

 success = 1;

  user =     {

  DriverID = 35;

 DriverName = "Home  nath";

"com_id" = 2;

};

}

现在我需要将 DriverName 的数据传递给标签框中的其他视图控制器。这个怎么做??

【问题讨论】:

  • 如果您发布您已经尝试过的解决方法以及遇到的错误会更有帮助。
  • 我几乎完成了调用 url 打印 url 和从服务器获取的对象。现在我无法打印特定的对象。因为我尝试过:var result = jsonResults["error_msg"] as ?字符串打印(“休息:(结果)”)
  • 如果我的回答对你有帮助,你可以点赞:-)

标签: ios json swift swift2


【解决方案1】:

在目标视图控制器中创建一个字符串类型的变量。

DestinationViewController.Swift

class DestinationViewController: UIViewController {

    var driverName: String?

    override func viewDidLoad() {
        super.viewDidLoad()

        print(driverName)

    }
}

CurrentViewController.swift

在您的 CurrentViewController 中覆盖 prepareForSegue:sender: 方法。

class CurrentViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let destnationVC = segue.destination as! DestinationViewController
        destnationVC.driverName = "Home nath"
    }

}

了解如何将数据从 CurrentViewController 传递到 DestinationViewController 和 DestinationViewController 到 OrignViewController 它会帮助你很多。

参考Passing Data between View Controllers

【讨论】:

  • 我想获取关键选项,而不是像 homenath 这样的特定名称
  • 所以你必须先解析数据。
  • 先帮我在同一个控制器中打印驱动程序名称....然后我会将其解析给其他控制器....谢谢
  • var result = jsonResults["DriverName"] as? String print("rest:(result)") 我试过这个,但它打印为 nil 值
  • 您的 json 数据格式不正确。你可以在这里验证你的 json。 codebeautify.org/jsonvalidator
猜你喜欢
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-28
  • 1970-01-01
相关资源
最近更新 更多