我试图将数据加载到表视图中,但出现错误-类型'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
}
}
答案 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所说的一样:
类,结构和枚举名称以大写字母开头。变量,函数和大小写名称以小写字母开头。