问题描述
在Xcode-iPhone项目中使用Interface Builder增加Tab Bar Controller标签视图控制器,第一次点击Tab Bar Controller可选中的某个视图,此时可指定其相关联的视图控制器的NIB名称,和身份检查器中的与此标签相关联的视图控制器底层类。如果未指定后者,就会出现这个错误,具体如下:
2011-01-20 13:52:09.059 Pickers[2876:207] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key datePicker.'
解决方法
在第一次点击标签视图时,在身份检查器中指定与它相关联的视图控制器类。
总结
出现这个问题通常是因为我们先指定了NIB名称,这时可以在Interface Builder中看到提示:“View Loaded From 'xxxViewController”:

从而忘了指定其实现类。遇到问题先看控制台错误提示信息,看不明白再Google。人总有粗心的时候,快速解决问题才能提高效率。
参考链接
RootViewController is not key value coding-compliant