В моем приложении у меня есть тип контроллера имени вашего имени, контроллер представления имени дисплея и контроллер представления имени отца. Каждый раз, когда я go возвращаюсь к контроллеру представления имени отца, а когда я go возвращаюсь к контроллеру представления имени, имя не отображается. Поэтому мне нужно go вернуться к контроллеру представления имен, а затем к контроллеру отображения дисплея
Подробнее о моем приложении iOS: в моем приложении включены настройки пользователя по умолчанию, поэтому имя сохраняется. И то же самое для контроллера представления отца. Я передаю данные между контроллерами представления. Это напишите ваше имя контроллера просмотра
//
// ProfileViewController.swift
// Medical ID
//
// Created by Ashwin Paudel on 2020-04-22.
// Copyright © 2020 Ashwin Paudel. All rights reserved.
//
import UIKit
class ProfileViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var cityYouLiveIN: UITextField!
@IBOutlet weak var phoneNumber: UITextField!
@IBOutlet weak var dateOfBirth: UITextField!
let defaults = UserDefaults.standard
class func create() -> UIViewController? {
let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
let controller = storyboard.instantiateInitialViewController()
return controller
}
struct Keys {
static let namess = "FullName"
static let ContactNumber1 = "Number1"
static let ContactNumber2 = "Number2"
static let Bloodtype = "Blood"
static let medHistory = "MEDHistore"
}
override func viewDidLoad() {
super.viewDidLoad()
self.nameTextField.delegate = self
self.cityYouLiveIN.delegate = self
self.phoneNumber.delegate = self
self.dateOfBirth.delegate = self
CheckForsavedname()
CheckForSavedNumber()
CheckForSavedNumber2()
Bloodtype()
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
var FirstVC = segue.destination as! FirstViewController
FirstVC.fullNameString = nameTextField.text!
FirstVC.locationString = cityYouLiveIN.text!
FirstVC.phoneNumberString = phoneNumber.text!
FirstVC.dateofbirthstring = dateOfBirth.text!
//dateofbirthstring
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
nameTextField.resignFirstResponder()
cityYouLiveIN.resignFirstResponder()
phoneNumber.resignFirstResponder()
dateOfBirth.resignFirstResponder()
return (true)
}
@IBAction func saveButtonTapped(_ sender: Any) {
if nameTextField.text != "" {
performSegue(withIdentifier: "segueToHome", sender: self)
} else if cityYouLiveIN.text != "" {
performSegue(withIdentifier: "segueToHome", sender: self)
} else if phoneNumber.text != "" {
performSegue(withIdentifier: "segueToHome", sender: self)
} else if dateOfBirth.text != "" {
performSegue(withIdentifier: "segueToHome", sender: self)
}
saveInfo()
CheckForsavedname()
CheckForSavedNumber()
CheckForSavedNumber2()
Bloodtype()
}
func saveInfo() {
//Save the imformation
defaults.set(nameTextField.text!, forKey: Keys.namess)
//Save information
defaults.set(cityYouLiveIN.text!, forKey: Keys.ContactNumber1)
//Save information
defaults.set(phoneNumber.text!, forKey: Keys.ContactNumber2)
//Save information
defaults.set(dateOfBirth.text!, forKey: Keys.Bloodtype)
//Save information
}
func CheckForsavedname() {
//If somthing is written, save it. If not, leave it alone.
let name = defaults.value(forKey: Keys.namess) as? String ?? ""
nameTextField.text = name
}
func CheckForSavedNumber() {
//If somthing is written, save it. If not, leave it alone.
let Number1 = defaults.value(forKey: Keys.ContactNumber1) as? String ?? ""
cityYouLiveIN.text = Number1
}
func CheckForSavedNumber2() {
//If somthing is written, save it. If not, leave it alone.
let Number2 = defaults.value(forKey: Keys.ContactNumber2) as? String ?? ""
phoneNumber.text = Number2
}
func Bloodtype() {
//If somthing is written, save it. If not, leave it alone.
let bloods = defaults.value(forKey: Keys.Bloodtype) as? String ?? ""
dateOfBirth.text = bloods
}
}
А затем это контроллер просмотра для отображения текста
//
// FirstViewController.swift
// Medical ID
//
// Created by Ashwin Paudel on 2020-04-22.
// Copyright © 2020 Ashwin Paudel. All rights reserved.
//
import UIKit
class FirstViewController: UIViewController {
@IBOutlet weak var fullNameLabel: UILabel!
@IBOutlet weak var locationLabel: UILabel!
@IBOutlet weak var phoneNumberLabel: UILabel!
@IBOutlet weak var dateOfBirthLabel: UILabel!
var fullNameString = String()
var locationString = String()
var phoneNumberString = String()
var dateofbirthstring = String()
override func viewDidLoad() {
super.viewDidLoad()
fullNameLabel.text = fullNameString
locationLabel.text = locationString
phoneNumberLabel.text = phoneNumberString
dateOfBirthLabel.text = dateofbirthstring
}
}