UITableView自定义headerView遇Xcode类不识别及运行崩溃问题
问题解决方案
1. 修复Xcode无自定义类自动补全问题
- 选中你的
CustomHeaderViewClass.swift文件,打开右侧「文件检查器」,在「Target Membership」栏确认当前运行的App目标已勾选,保证类文件被正确编译进项目 - 按
Command + Shift + K清理构建,再按Command + Option + Shift + K清空Xcode衍生数据,重启Xcode后即可识别自定义类,出现自动补全提示
2. 修复运行崩溃NSUnknownKeyException问题
该报错的核心原因是xib中控件的关联关系和实际加载的类不匹配,按以下步骤修正xib配置:
- 打开
CustomHeaderView.xib,选中左侧文件大纲的「File's Owner」,右侧「身份检查器」的Class保持默认NSObject即可,不要修改 - 选中xib的顶层根视图,右侧「身份检查器」的Class设置为
CustomHeaderViewClass - 打开「关联检查器」,删除所有带感叹号的无效关联,重新将
centerLabel关联到CustomHeaderViewClass对应的IBOutlet属性上 - 修正代理方法内的赋值逻辑:你已经自定义了
centerLabel,就不要使用系统自带的textLabel,将赋值代码改为cell.centerLabel.text = "Section: \(section)"即可
3. 代码验证
你当前的nib注册、复用逻辑没有语法问题,确认xib文件名和注册时的nibName完全一致、复用标识符和注册时的参数完全匹配即可。
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

