这是我得到的错误。我确定这是一个简单的解决方案,但我遇到了一些麻烦。我更新了这个帖子来添加代码。
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return 5
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CheckListItem", for: indexPath)
let label = cell.viewWithTag(1000) as! UILabel
switch indexPath.row {
case 0:
label.text = "Walk the dog"
case 1:
label.text = "Brush my teeth"
case 2:
label.text = "Learn iOS development"
case 3:
label.text = "Soccer practice"
case 4:
label.text = "Eat ice cream"
default:
label.text = "Nothing"
}
return cell
}
答案 0 :(得分:0)
这是viewWithTag(_:)
函数的作用:
使用a返回视图的最近后代(包括其自身) 特定标记,如果没有子视图具有该标记,则为nil。
所以你回来的是对象本身以及最近的后代。看起来你只是想在单元格中设置文本,所以你可以做的只是将你的代码更改为:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CheckListItem", for: indexPath)
switch indexPath.row {
case 0:
cell.textLabel.text = "Walk the dog"
case 1:
cell.textLabel.text = "Brush my teeth"
case 2:
cell.textLabel.text = "Learn iOS development"
case 3:
cell.textLabel.text = "Soccer practice"
case 4:
cell.textLabel.text = "Eat ice cream"
default:
cell.textLabel.text = "Nothing"
}
return cell
}
答案 1 :(得分:0)
我正在使用iOS Apprentice系列,遇到了和你一样的问题。
我认为您可能想要检查标记的附加位置:1000.在Main.storyboard中 - 如果您因为这个原因而失败,您可能已将标记附加到UITableViewCell而不是Label(在内容视图下的UILabel类型。