我无法解决错误“编码分类不符合键的键值编码”

时间:2018-11-24 11:05:17

标签: ios swift

这是一个问题。

由于给出了键错误,因此此类与键值代码不兼容。

但是,我不确定哪一部分是错误的。该错误出现在cellForRowAt。

谢谢您的回答。

如果需要的话,我也可以显示ContentTableViewCell的代码,所以请喊出来。

import UIKit

class SearchViewController: UIViewController, UISearchResultsUpdating {

@IBOutlet weak var tableview: UITableView!

var songs = [
    "裁量権を持って、若者向けカレンダーアプリ開発をしたいiOSエンジニア募集!",
    "自信を持って、応援出来るエンジニアを募集!"
]

var searchSongs = [String]()

func updateSearchResults(for searchController: UISearchController) {
    let searchString = searchController.searchBar.text!
    searchSongs = songs.filter {(name) -> Bool in
        return name.contains(searchString)
    }
    tableview.reloadData()
}

override func viewDidLoad() {
    super.viewDidLoad()
    navigationController?.navigationBar.prefersLargeTitles = true
    let searchController = UISearchController(searchResultsController:nil)
    searchController.searchResultsUpdater = self
    searchController.dimsBackgroundDuringPresentation = false
    navigationItem.searchController = searchController
    definesPresentationContext = true
    delegate()
}
}




extension searchViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if navigationItem.searchController?.isActive == true {
        return searchSongs.count
    } else {
        return songs.count
    }
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableview.dequeueReusableCell(withIdentifier: "ContentTableViewCell", for: indexPath) as! ContentTableViewCell
    if navigationItem.searchController?.isActive == true {
        cell.commonInit(content: searchSongs[indexPath.row])
    } else {
        cell.commonInit(content: songs[indexPath.row])
    }
    return cell
}

func delegate() {
    tableview.delegate = self
    tableview.dataSource = self
    let nibName = UINib(nibName: "ContentTableViewCell", bundle: nil)
    self.tableview.register(nibName, forCellReuseIdentifier: "ContentTableViewCell")
}

}

1 个答案:

答案 0 :(得分:2)

检入故事板。我认为任何插座未正确连接。 enter image description here

检查在该故事板上出现此错误的黄色警告三角形。如果发现任何东西,请移除并重新连接插座。