My code below uses a struct to organize the data. However when I go to the next view controller and return to the original one all of the data is deleted. How can I use user defaults to save the data to the label.
import UIKit
class ViewController: UIViewController {
@IBOutlet var c: UITextField!
@IBOutlet var a: UITextField!
@IBOutlet var label: UILabel!
var contacts = [Person]()
@IBAction func save(_ sender: Any) {
contacts.append(Person(name: a.text!, phone: Int(c.text!)!))
let sortedContacts = contacts.sorted {
($0.name, $0.phone) < ($1.name, $1.phone)
}
label.text = contacts.count == 0 ? "" : sortedContacts.map {$0.description}.joined(separator: "\n")
Person.myStruct.append(label.text!);}
struct Person {
var name: String
var phone: Int
static var myStruct = [String]();
var description: String {
return "\(name),\(phone)"
}}}