我在构建的应用程序中突然遇到一个非常奇怪的问题 - 我的tableView中的tableViewCells根本没有出现,即使tableView方法正在触发(我已经开始)使用其中的print语句检查)。该应用程序不会崩溃,但表格视图单元格中的所有内容都不会再显示,即使所有数据变量都已更新。
以下是我使用过的tableView方法:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let count = selectedValidInputs.count
return count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = carbonDetailsTable.dequeueReusableCell(withIdentifier: "CarbonDetailsCell") as! CarbonTableViewCell
cell.itemName.text = selectedValidInputs[indexPath.row]
cell.carbonValue.text = carbonValues[indexPath.row]
cell.tip.text = tips[indexPath.row]
cell.hashtag.text = tags[indexPath.row]
return cell
}
涵盖可能会提出的一些问题
我对完全编码非常陌生,所以非常感谢任何帮助和反馈!
请注意,该页面只是空的。即使是' cellBg'下面的变量,只是一个视图,有一个背景颜色,没有显示,也没有应用程序崩溃 - 这有点奇怪。
编辑:由于每个人都在建议,因此请在此处进行更新。在打印结果时,我得到所有值:当输入值为" apple"例如,显示所有值:
count: 1
selectedValidInputs: ["apple (1 kg)"]
carbonValues: ["550 g CO2, same as 22 plastic bags"]
tips: ["Avoid wastage that adds unnecessary methane to the air with decomposition!"]
tags: ["#very-low-carbon-impact"]
答案 0 :(得分:1)
部分数等于0,'selectedValidInputs'数组为空,或者您没有放置所有使用值初始化它的代码。
答案 1 :(得分:0)
在CarbonDetailsViewController中打印您在tableview中传递的数组,并且检查数据与您在之前的viewcontroller中传递的数据完全相同。
答案 2 :(得分:0)
1)尝试实施
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
2)尝试实施
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 40.0
}
并对estimatedRowHeight
和rowHeight
设置者进行评论,以确认该单元格的自动布局是否未损坏且表格视图无法确定行高。
(estimatedRowHeight
基本上只用于tableView指标栏并估计tableView的内容大小)