First view Controller
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)
}
}
Another View Controller
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)
}
}
}
How do I fetch JSON data to another view controller by tapping a button on the first view controller?
Thanks in advance....!!