ios - Xib文件内的TableView
问题描述
我想在我的 xib 文件中添加表格视图,但出现错误。我的控制器是
class ViewController: UIViewControllerUITextViewDelegate,UITableViewDataSource,UITableViewDelegate{
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let identifier = "Cell"
var cell:UITableViewCell? = yerImleriView.tableView.dequeueReusableCell(withIdentifier: identifier)
if cell == nil {
_ = YerImleri().loadNib() as UIView
tableView.register(UINib(nibName: "YerImleri", bundle: nil), forCellReuseIdentifier: identifier)
cell = yerImleriView.tableView.dequeueReusableCell(withIdentifier: identifier)
cell?.textLabel?.textColor = UIColorFromRGB(rgbValue: 0xEFEFEF)
cell?.textLabel?.text = items[indexPath.row]
cell?.backgroundColor = UIColorFromRGB(rgbValue: 0x3A4858)
cell?.textLabel?.font = UIFont (name: "Proxima Nova", size: 16)
}
return cell!
}
var items: [String] = ["Katmanlar", "Yer Imleri", "GPS Cihazlari", "Kategorik Arama","Cevrimdisi Haritalar"]
override func viewDidLoad() {
super.viewDidLoad()
yerImleriView.tableView.delegate = self
yerImleriView.tableView.dataSource = self
}
}
我的 Xib 文件是
class YerImleri: UIView{
@IBOutlet var contentView: UIView!
@IBOutlet weak var tableView: UITableView!
override init(frame: CGRect){
super.init(frame: frame)
commonInit()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}
private func commonInit(){
Bundle.main.loadNibNamed("YerImleri", owner:self, options: nil)
addSubview(contentView)
contentView.frame = self.bounds
contentView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
}
}
错误是
*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]:此类不符合关键内容视图的关键值编码。”
解决方案
根据理解:您将错误的类作为文件所有者分配给 xib 检查是否分配了正确的类并且所有插座都已连接并且 ib 插座圈已填满,它会正常工作
推荐阅读
- android - 更改 StatusBar 颜色并同时显示 ActionMode
- angular - 在 Angular 9 中,如何在 ng 构建期间替换 assets 文件夹中的配置文件?
- client-certificates - 如何从命令行打开 p7s 文件?
- python - 为什么 PyCharm 将 `x.append(x[0])` 重写为 `x = [..., x[0]]`?
- javascript - 在 ngx-pagination 上添加第一页和最后一页 - 角度 9
- java - 方法应该在实现动作的类中还是在实现的类中?
- php - 如何使用 php 在我的 web 上显示 sql concat
- java - 使用 apache camel 从 slack 用户向另一个 slack 用户发送消息
- unit-testing - 如何在测试中模拟嵌套客户端
- python - 有什么方法可以在 python 中扩展字典?