agregue entradas del campo de texto a UITableView para completar automáticamente

Este es el código que tengo hasta ahora. Puedo ingresar al campo de texto y hacer que aparezca en UITableView, pero solo después de volver a cargar la página y volver a ella. Quiero lo que ingreso en el campo de texto y cuando hago clic en 'agregar' para que aparezca automáticamente en UITableView.

@IBOutlet var itemTextField: UITextField!
@IBOutlet var table: UITableView!

var items: [String] = []

@IBAction func add(_ sender: Any) {
    let itemsObject = UserDefaults.standard.object(forKey: "items")

    var items:[String]

    if let tempItems = itemsObject as? [String] {
        items = tempItems
        items.append(itemTextField.text!)

        print(items)
    } else {
        items = [itemTextField.text!]
    }

    UserDefaults.standard.set(items, forKey: "items" )
    itemTextField.text = ""
}

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.view.endEditing(true)
}

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    textField.resignFirstResponder()

    return true
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return items.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "cell")

    cell.textLabel?.text = items[indexPath.row]
    cell.textLabel?.font = UIFont(name: "Type02", size: 20)

    return cell
}

override func viewDidAppear(_ animated: Bool) {
    let itemsOBject = UserDefaults.standard.object(forKey: "items")

    if let tempItems = itemsOBject as? [String]{
        items = tempItems
    }

    table.reloadData()
}

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
    if editingStyle == UITableViewCellEditingStyle.delete {
        items.remove(at: indexPath.row)

        table.reloadData()

        UserDefaults.standard.set(items, forKey: "items")
    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta