gpt4 book ai didi

ios - 无法以编程方式注册在 UIViewController 中创建的 TableView 的 TableCell

转载 作者:搜寻专家 更新时间:2023-11-01 06:49:53 25 4
gpt4 key购买 nike

我在标准 ViewController 中创建了一个 TableView。问题是我无法注册新的 Cell。它总是导致以下错误:
“无法使具有标识符 CustomCell 的单元格出列 - 必须为该标识符注册一个 nib 或一个类,或者在 Storyboard中连接一个原型(prototype)单元格”

class ViewController: UIViewController {

var testView = UITableView()

override func viewDidLoad() {
super.viewDidLoad()

view.addSubview(testView)

self.testView.register(CustomCell.self, forCellReuseIdentifier: "CellID")

self.testView.dataSource = self
self.testView.delegate = self
}
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let item = self.item(at: indexPath)
let cell = tableView.dequeueReusableCell(withIdentifier: "CellID", for: indexPath) as! CustomCell
cell.titleLabel.text = item
cell.coverView.image = UIImage(named: "Swift")
return cell
}

使用 Storyboard不会导致该问题。如果我创建 Cell 并引用标识符,则注册工作完美。我只是不以编程方式理解它

我尝试使用其他导航 Controller 注册单元格:UITableViewController。它之所以有效,是因为我使用了:

self.tableView.register(Cellstest.self, forCellReuseIdentifier: "CellID")

//and not using the created TableView "testView".
//Using self.testView.register leads to the same error

在我对上面代码的看法中,我在 UITableViewController 中注册了通用 tableView 的单元格,而不是我创建的 testView:UITableView。

如果我是对的,我怎样才能为特定的 TableView 注册一个新的 Cell

如果我错了,我如何才能访问我的 UIViewController 中的 UITableViewController。因为在第一种情况下使用 UIViewController 我无法访问
self.tableView.register
我只能注册自己的 TableView
self.testView.register

最佳答案

你试过吗

self.testView.register(CustomCell.self, forCellReuseIdentifier: "CustomCell")

代替

self.testView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")

关于ios - 无法以编程方式注册在 UIViewController 中创建的 TableView 的 TableCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58244877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com