gpt4 book ai didi

ios - 来自 .xib 文件的自定义 UITableViewCell

转载 作者:行者123 更新时间:2023-11-30 11:45:44 24 4
gpt4 key购买 nike

我正在尝试使用 .xib 文件中的自定义 UITableViewCell

在我拥有 UITableView 的 ViewController 中,我已经执行了以下操作:

按住 Ctrl 键并将 tableViewDataSource 和 tableViewDelegate 拖动到 Interface Builder 中的此 View Controller 。

这段代码:

    import UIKit

class ResultsFoundViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var tableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()

self.tableView.dataSource = self;
self.tableView.delegate = self;

//Register my Custom Cell
let customCellName = String(describing: ResultsFoundTableViewCell.self);
let customCellNib = UINib.init(nibName: customCellName, bundle: nil);
self.tableView.register(customCellNib, forCellReuseIdentifier: customCellName);
}

public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5;
}

// MARK: UITableViewDataSource Functions

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ResultsFoundTableViewCell", for: indexPath) as! ResultsFoundTableViewCell;
cell.lbStoreName.text = "Name";

return cell;
}
}

在 CustomCell 中我只有一个标签以使其更简单:

import UIKit

class ResultsFoundTableViewCell: UITableViewCell {

@IBOutlet weak var lbStoreName: UILabel!
}

我得到的错误是:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'invalid nib registered for identifier (ResultsFoundTableViewCell) - nib must contain exactly one top level object which must be a UITableViewCell instance'

你知道为什么会发生这种情况吗?

最佳答案

这个问题的原因是你必须把所有的UI组件都放在cell->contentView里面,如果有任何元素超出其中,nib注册就会失败

也可以在不描述的情况下进行 Nib 声明

    let customCellNib = UINib.init(nibName: "nibClassName", bundle: nil);
self.tableView.register(customCellNib, forCellReuseIdentifier: customCellName);

作为字符串(在此处描述

  let customCellName = String(describing: ResultsFoundTableViewCell.self);

向字符串内容添加 optional ,如下所示Optional("nibClassName")

关于ios - 来自 .xib 文件的自定义 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845658/

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