在 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 的地方)。
您可以在视频中查看完整代码:
它是
private let tableView = UITableView( ... )
或
private let tableView : UITableView = { ... }()
我想学习 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 的地方)。 您可以在视频中查看完整代码:
它是
private let tableView = UITableView( ... )
或
private let tableView : UITableView = { ... }()