テーブルビューのセルに辞書型の配列を表示させるコードで、辞書のキー配列やデータを取得するところがわかりません。ご教示いただけますか。ご回答に感謝します。

エラーは、次のとおりです。
①Ambiguous reference to member 'subscript'(109行目)
②Value of type '[[String : Bool]]' has no member 'updateValue'(123、148行目)
③Value of type '[[String : Bool]]' has no member 'keys'」(152行目)
ネットで探して試しましたが、解決できるものは見つかりませんでした。

import UIKit

class ViewController : UIViewController, UITableViewDelegate, UITableViewDataSource {

    ////
    func numberOfSections(in tableView: UITableView) -> Int // Default is 1 if not implemented
    { return sectionTitle.count
    }
    ////
    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? // fixed font style. use custom view (UILabel) if you want something different
    {
        return sectionTitle[section]
    }


    // ステータスバーの高さ、上にカレンダーかデイトピッカーを置く。
    let statusBarHeight = UIApplication.shared.statusBarFrame.height + 200

    //セクションの項目
    var sectionTitle = ["H28,01,23","H27,12,31","H28,01,12","H28,02,21","H28,11,10"]


    // チェックリストの項目とチェック状態
    var checkListItem1: [String : Bool] = [
        "アイテム1" : true,
        "アイテム2" : false,
        "アイテム3" : true,
        "アイテム4" : true,
        "アイテム5" : false
    ]
    var checkListItem2: [String : Bool] = [
        "アイテム2-1" : false,
        "アイテム2-2" : true,
        "アイテム2-3" : true,
        "アイテム2-4" : true,
        "アイテム2-5" : false
    ]
    var checkListItem3: [String : Bool] = [
        "アイテム3-1" : true,
        "アイテム3-2" : true,
        "アイテム3-3" : true,
        "アイテム3-4" : true,
        "アイテム3-5" : false
    ]
    var checkListItem4: [String : Bool] = [
        "アイテム4-1" : true,
        "アイテム4-2" : false,
        "アイテム4-3" : true,
        "アイテム4-4" : false,
        "アイテム4-5" : false
    ]
    var checkListItem5: [String : Bool] = [
        "アイテム5-1" : true,
        "アイテム5-2" : false,
        "アイテム5-3" : true,
        "アイテム5-4" : true,
        "アイテム5-5" : true
    ]
//    var tableData = [checkListItem1, checkListItem2, checkListItem3, checkListItem4, checkListItem5]
  var tableData: [[String: Bool]] = []

    let tableView = UITableView()

override func viewDidLoad() {
        super.viewDidLoad()
        tableData = [checkListItem1, checkListItem2, checkListItem3, checkListItem4, checkListItem5]

        // UITableView の作成
        tableView.frame = CGRect(
            x: 0,
            y: statusBarHeight,
            width: self.view.frame.width,
            height: self.view.frame.height - statusBarHeight
        )
        tableView.delegate = self
        tableView.dataSource = self
        self.view.addSubview(tableView)
    }

    // セルの作成
    //
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        // Dictonary のキーの配列を取得
       //        string.characters.count 
       var keys = [String](tableData.keys)  //<ーエラー①


        // キーで並び替え
        keys.sort()

        // キーの文字列を取得
        let cellText = keys[indexPath.row]

        // セルの作成とテキストの設定
        let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
        cell.textLabel?.text = cellText

        ///
        let sectionData = tableData[(indexPath as NSIndexPath).section]//<ーエラー②
        let cellData = sectionData[(indexPath as NSIndexPath).row]



        // チェック状態が true なら、初めからチェック状態にする
        if self.tableData[cellText]! {
            cell.imageView?.image = UIImage(named: "checked")
        } else {
            cell.imageView?.image = UIImage(named: "unchecked")
        }

        return cell
    }

    // セルがタップされた時の処理
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        if let cell = tableView.cellForRow(at: indexPath) {

            // タップしたセルのテキストを取得
            let cellText = cell.textLabel?.text

            // 画像を切り替えと Dictonary の値を変更
            if cell.imageView?.image == UIImage(named: "checked") {

                self.tableData.updateValue(false, forKey: cellText!)//<ーエラー③
                cell.imageView?.image = UIImage(named: "unchecked")
            } else {

                self.tableData.updateValue(true, forKey: cellText!)//<ーエラー③
                cell.imageView?.image = UIImage(named: "checked")
            }

            // 選択状態を解除
            cell.isSelected = false
        }
    }


    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        let sectionData = tableData[section]
        return self.tableData.count
    }    
}

前回の質問
テーブルビューを作成中の「Cannot use instance member…」エラー