【发布时间】:2020-02-03 14:03:39
【问题描述】:
为header创建了一个自定义的header类,使用xib查看。试图从该标头类中获取 UITextField 的值。下面是代码:
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let customHeaderView = Bundle.main.loadNibNamed("AddHeaderTableViewCell", owner: self, options: nil)?.last as! AddHeaderTableViewCell
customHeaderView.txtFieldAdd.placeholder = ""
return customHeaderView
}
当试图从下面的文本字段中获取价值时:
@objc func addMoreToMytask(sender: UIButton!) {
isAddStep = false
let header = tblAddedTasks.headerView(forSection: 0) as? AddHeaderTableViewCell
let sectionTitle = header?.textLabel?.text
arrAdded.append((header?.txtFieldAdd.text!)!)
tblAddedTasks.reloadData()
}
这行报错
let header = tblAddedTasks.headerView(forSection: 0) as? AddHeaderTableViewCell
运行时给出警告和崩溃
Cast from 'UITableViewHeaderFooterView?' to unrelated type 'AddHeaderTableViewCell' always fails
请同样指导。
【问题讨论】:
-
快速修复可以是不要投射到您的 AddHeaderTableViewCell,并使用 viewWithTag 方法访问您的 textField。
标签: ios swift uitableview header headerfooter