ios - 我如何将 json 提取到另一个视图控制器
问题描述
第一个视图控制器
class ViewController: UIViewController {
@IBOutlet weak var txt: UITextField!
var jsonview = JsonViewController()
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func loginBtn(_ sender: UIButton) {
// jsonview.getData()
let dataOne = txt.text
let vc = self.storyboard?.instantiateViewController(identifier: "JsonViewController") as! JsonViewController
vc.dataTwo = dataOne!
self.navigationController?.pushViewController(vc, animated: true)
}
}
另一个视图控制器
class JsonViewController: UIViewController {
@IBOutlet weak var nameTxt: UILabel!
@IBOutlet weak var ageTxt: UILabel!
@IBOutlet weak var placeTxt: UILabel!
var dataTwo = ""
override func viewDidLoad() {
super.viewDidLoad()
nameTxt.text = dataTwo
}
func getData(){
guard let path = Bundle.main.path(forResource: "example", ofType: "json") else {
return
}
let url = URL(fileURLWithPath: path)
do{
let data = try Data(contentsOf: url)
let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers)
guard let array = json as? [Any] else {
return
}
for user in array{
guard let userDict = user as? [String:Any] else {return}
guard let Name = userDict["Name"] as? String else { return}
guard let Age = userDict["Age"] as? String else { return}
guard let Place = userDict["Place"] as? String else { return}
if dataTwo.contains(Name){
nameTxt.text = Name
ageTxt.text = Age
placeTxt.text = Place
}
}
}catch{
print(error)
}
}
}
如何通过点击第一个视图控制器上的按钮将 JSON 数据获取到另一个视图控制器?
提前致谢....!!
解决方案
推荐阅读
- javascript - 'HttpResponse.Data' 和执行的微风查询的'results' 属性值不同
- xslt - 使用 json 作为输入删除 xslt 中的重复项
- nginx - 如何将标题“Access-Control-Allow-Origin:”添加到某些响应代码
- java - 如何识别应用程序是在 WebLogic 还是 JBoss 上运行?
- algorithm - 算法的复杂度是多少:T (n) = 3 * T (n ÷ b) + n² + 1?
- excel - 如何使用 VBA 将多个 Excel 工作表合并为一个 Excel 工作表
- html - 应用fixed时背景图不会覆盖,不应用时不会垂直覆盖
- scala - Int 类是抽象的;无法实例化
- hp-uft - HP ALM 卡在“等待统一功能测试...”状态
- python - python3列表减法问题 - 错误列表不可调用