iOS开发报错:类不支持key emailTxt的键值编码
解决NSUnknownKeyException(emailTxt相关)的常见方案
你遇到的是iOS开发里典型的KVC绑定异常,虽然已经移除变量并重加控件,但大概率是残留关联或缓存问题,试试下面几个步骤:
- 检查Storyboard的Outlet残留关联:打开Storyboard,选中对应的ViewController,右键点击它,在弹出的关联列表里找有没有
emailTxt的条目(不管是Outlet还是Action),只要有就删掉。有时候删除代码里的变量后,Storyboard里的旧关联不会自动清除。 - 确认ViewController的类绑定正确:选中Storyboard里的ViewController,打开右侧Identity Inspector,检查Class字段是不是你当前的ViewController类,有没有误绑到其他类或者类名拼写错误。
- 清理项目缓存:
- 用
Command+Shift+K清理Build Folder; - 打开Xcode的Preferences -> Locations,找到Derived Data,点击旁边的箭头打开文件夹,删除当前项目的Derived Data文件夹;
- 重启Xcode后再编译运行。
- 用
- 检查其他nib/xib文件:如果项目里还有其他xib文件关联了这个ViewController,也要检查里面有没有
emailTxt的残留关联。 - 排查代码里的手动KVC调用:搜索整个项目代码,看看有没有
setValue:forKey:@"emailTxt"或类似的KVC调用,这类手动代码也会触发该异常。
内容的提问来源于stack exchange,提问作者Big Willy
相关产品推荐
相关产品推荐

