报错:this class is not key value coding-compliant for the key closeLotTextField解决方法

转自:http://blog.csdn.net/itianyi/article/details/8547902

几种情况下都会报这种错误:
1,加载自定义的tableViewCell的时候总是死在:
XInstrumentOpenCell *cell = [tableViewdequeueReusableCellWithIdentifier:CellTableIdentifier];

log里面报错:this class is not key value coding-compliant for the key closeLotTextField

解决方法:
因为xib的属性检查器中,没有设置Identifier为cellID
static NSString *CellTableIdentifier = @"cellID";
2,在加载WorkingOrder界面的时候,总是报这个错误:
解决方法:
因为在xib的连接中,有一个变量stateLabel是已经删除了的(用phaseLabel代替了)。虽然代码已经删除了,但是连线还是存在于xib文件中。
删掉这个多余的连接线就好了。

3,检查代码拼写,有时候改了类的名字,但是有些地方没有改过来,就会一直报这种错误,比如
NSArray *secondLevelObjects = [[NSBundlemainBundle] loadNibNamed:@"XOpenPositionContentCell"owner:nil options:nil];
重点是字串中的类名,一般使用类名定义的时候很好找出来改掉,但是写在字串里面的不容易被发现

4,连线的时候选择的是cell 不是file‘s owner,有时候设置了xib文件的class,但是项目未更新过来,重启xcode。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。