プログラミング初心者です。StackOverflowを使うのも初めてなので、うまくかけていないところがありましたら申し訳ございません。

学校のプロジェクトでアプリを作ることになったのですが、初めてなのうまくいかず困っています。皆様の力を貸していただけたらなと思います。

私が使っているのは:
Xcode Version 8.1
Swift (Swiftのバージョンについてもよくわかっていないのですが、3.0だと思います)

私が作っているアプリは To Do List で、YouTubeのチュートリアルを見て作成しています。こちらが私の見ているチュートリアルです:
https://www.youtube.com/watch?v=Md0KDy6DCAc

また、この方のフルコードが載っているサイトがこれです:
https://github.com/mobilespace/ToDoList

私が今困っているのは、シミュレーターで機能がうまく動かないことです。 To Doアイテムを選択して左上のフォルダのマークを押すと、To Do Items Completedに自動的に保存(名前がそちらに移動)される仕組みになるはずなのですが、私の場合、リストから名前が消えるだけで To Do Items Completed に保存されません。

注意マークは一つも出てないので、何が間違っているのか、またどうやったら直るのかがわかりません。

よろしくお願いします。

ViewController.swift

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, AddToDoItemControllerDelegate {

    @IBOutlet weak var tableView: UITableView!

    var toDoList: NSMutableArray = ["Go get groceries", "Walk the dog", "Watch a movie", "Do your homework"]

    var completedToDoList: [Int:String] = [:]

    override func viewDidLoad() {
        super.viewDidLoad()

        tableView.delegate = self
        tableView.dataSource = self
    }

    override func viewWillAppear(_ animated: Bool) {
        resetAccessoryType()
        tableView.reloadData()
    }

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

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "ToDoCell", for: indexPath)
        cell.textLabel?.text = toDoList[indexPath.row] as? String

        return cell
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

    func resetAccessoryType() {
        for row in 0..<toDoList.count {
            if let cell = tableView.cellForRow(at: IndexPath(row: row, section: 0)) {
                cell.accessoryType = .none
            }
        }
    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.deselectRow(at: indexPath, animated: true)

        if let cell = tableView.cellForRow(at: indexPath) {
            if cell.accessoryType == .none {
                cell.accessoryType = .checkmark
                completedToDoList[completedToDoList.count] = toDoList[indexPath.row] as? String
                toDoList.removeObject(at: indexPath.row)
            } else {
                cell.accessoryType = .none
            }
        }
    }

    func addToDoItemToList(_ text:String) {
        toDoList[toDoList.count] = text

        tableView.reloadData()
    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if(segue.identifier == "AddToDoItemSegue") {
            let navigationController = segue.destination as! UINavigationController
            let addToDoItemViewController = navigationController.topViewController as! AddToDoItemController

            addToDoItemViewController.delegate = self
        } else if(segue.identifier == "CompletedToDoItemsSegue") {
            let completedToDoItemsController = segue.destination as! CompletedToDoItemsController
            completedToDoItemsController.completedToDoList = completedToDoList 
        }
    }

}

CompletedToDoItemController

import UIKit

class CompletedToDoItemsController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    @IBOutlet weak var tableView: UITableView!

    var completedToDoList: [Int:String] = [:]

    override func viewDidLoad() {
        super.viewDidLoad()

        tableView.delegate = self
        tableView.dataSource = self
        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


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

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "CompletedToDoItemCell", for: indexPath)
        cell.textLabel?.text = completedToDoList[indexPath.row]

        return cell
    }
}