在 tableView 中调用初始化程序时没有完全匹配

No exact matches in call to initializer in tableView

我想学习 Swift 的 Combine 框架,我找到了一个教程视频: https://www.youtube.com/watch?v=hbY1KTI0g70

不幸的是,我得到:

No exact matches in call to initializer 

当我尝试调用 tableView 时,在定义 tableView 的行上出现错误和一些其他错误,但我希望在我通过初始化此元素解决问题后它们会解决。

代码:

import UIKit
import Combine

class MyCustomTableCell: UITableViewCell{ }

class ViewController: UIViewController, UITableViewDataSource {
    
    private let tableView = UITableView {
        let table = UITableView()
        table.register(MyCustomTableCell.self,
                       forceCellReuseIdentifier: "cell")
        return table
    }()

(...)

override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(tableView)
        tableView.dataSource = self
        tableView.frame = view.bounds

(...)

 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return models.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? MyCustomTableCell else {
            fatalError()
        }
        cellTextLabel?.text = models(indexPath.row)
        return cell
    }

整个代码太长了。这就是为什么我只复制了它的关键部分(出现 tableView 的地方)。 您可以在视频中查看完整代码:

https://www.youtube.com/watch?v=hbY1KTI0g70

它是

 private let tableView = UITableView( ... )

 private let tableView : UITableView = { ... }()