TableViewに表示されているname(CoreDataのentityはPerson)のリストをスワイプで削除するfunctionを書いたのですが、行の削除後に空のセルが表示されたままになります。最下行を消した場合は、消した後に新たにレコードを追加すると、空のセルの下にレコードができます。tableViewのリロードだけで足りないということだと思いますが、どうすればよいでしょうか。
アプリを再起動した場合は、削除された行は空にはならず上に詰めて表示されます。

@IBOutlet weak var tableView: UITableView!
var people: [NSManagedObject] = []

extension ViewController: UITableViewDataSource {

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

func tableView(_ tableView: UITableView,
               cellForRowAt indexPath: IndexPath)
    -> UITableViewCell {

        let person = people[indexPath.row]
        let cell =
            tableView.dequeueReusableCell(withIdentifier: "Cell",
                                          for: indexPath)
            cell.textLabel?.text = person.value(forKeyPath: "name") as? String
        return cell
}

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
    return true
}

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {

    if editingStyle == .delete {
        guard let appDelegate =
            UIApplication.shared.delegate as? AppDelegate else {
                return
        }

        let managedContext =
            appDelegate.persistentContainer.viewContext

        let person = people[indexPath.row]

        managedContext.delete(person)

        do {
            try managedContext.save()
            people.append(person)
        } catch let error as NSError {
            print("Could not save. \(error), \(error.userInfo)")
        }

        tableView.reloadData()

    }
}

}