类型'UITableViewCell'的值没有成员'Job'

时间:2018-06-21 00:29:44

标签: ios swift uitableview

我试图将数据加载到表视图中,但出现错误-类型'UITableViewCell'的值没有成员'Job'&类型'UITableViewCell'的值没有成员'DateTime'。 Job&DateTime是我要在表视图单元格中显示的变量。如何摆脱错误?

// MARK: - UITableViewDataSource
extension CalendarViewController: UITableViewDataSource, UITableViewDelegate {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return displayName.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cellIdentifier = "Cell"
        let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath)

        cell.Job.text = displayName[indexPath.row]
        cell.DateTime.text = displayDateTime[indexPath.row]

        return cell
    }
}

2 个答案:

答案 0 :(得分:1)

由于Job和DateTime不是以下项的默认成员: 您需要将UITableViewCell类型转换为自定义tableviewcell类的UITableviewCell类,如图所示,

// MARK: - UITableViewDataSource
extension CalendarViewController: UITableViewDataSource, UITableViewDelegate {

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cellIdentifier = "Cell"
        let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! YourTableCellClass

        cell.Job.text = displayName[indexPath.row]
        cell.DateTime.text = displayDateTime[indexPath.row]

        return cell
    }
}

答案 1 :(得分:1)

首先,您的ERROR: Type error: `dict' expected, found `prolog' (an atom) ERROR: In: ERROR: [11] throw(error(type_error(dict,prolog),_10810)) ERROR: [9] '$dicts':'.'(prolog,pl,_10850) at c:/program files/swipl/boot/dicts.pl:46 ERROR: [8] '<meta-call>'(user:(...,...)) <foreign> ERROR: [7] <user> ERROR: ERROR: Note: some frames are missing due to last-call optimization. ERROR: Re-run your program in debug mode (:- debug.) to get more detail. Job不是Apple DateTime的财产。您要做的就是像

一样将单元格投射到UITableViewCell
YourTableCell

此外,您的媒体资源名称不理想。它应该以小写开头。仅Class和其他类型名称应以大写字母开头。因此,请更改为let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! YourTableCell job

完整的命名就像@rmaddy所说的一样:

  

类,结构和枚举名称以大写字母开头。变量,函数和大小写名称以小写字母开头。