我尝试在tableView中为我的detailTextLabel
设置一个字符串,但它返回了nil
。我读过其他文章,但不是我的第一篇,但我无法理解我的情况是什么。我正在使用Swift 4。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: UITableViewCell = {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") else {
return UITableViewCell(style: UITableViewCellStyle.value1, reuseIdentifier: "Cell")
}
return cell
}()
let filtersRow: Bool = (currentSearchType == .all && indexPath.section == 0)
var titleText: String = ""
if filtersRow == true {
titleText = "Filters"
var detailText: String = ""
if currentFilters.count == 0 {
detailText = "None"
}
else if currentFilters.count == 1 {
detailText = currentFilters.first!
}
else {
detailText = "\(currentFilters.count)"
}
cell.textLabel?.text = titleText /// -> shows 'Filters' as expected
cell.detailTextLabel?.text = detailText /// -> shows nothing
print("Detail text: \(cell.detailTextLabel?.text)") --> returns nil
print("cell.textLabel? \(String(describing: cell.textLabel))") /// --> Optional(<UITAbleViewLabel...>)
print("cell.detailTextLabel? \(String(describing: cell.detailTextLabel))") /// ---> nil
cell.accessoryType = .disclosureIndicator
cell.accessoryType = .disclosureIndicator
return cell
}
...
获取单元格的方式肯定有问题,但是我在另一个viewController中做同样的事情,并且进展顺利...
有谁有主意吗?
最佳答案
当没有创建detailTextLabel时,会发生这种情况。通常是您的代码或情节提要中的错误。因此,请检查有问题的单元的创建。
另请阅读此Stackoverflow Q&A about this topic
关于ios - tableView cell.detailTextLabel.text返回nil,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48689372/