首页 > 解决方案 > 我如何将 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 数据获取到另一个视图控制器?

提前致谢....!!

标签: iosswift

解决方案


推荐阅读