iOS: setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key name.(示例代码

Posted 雨季的雾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS: setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key name.(示例代码相关的知识,希望对你有一定的参考价值。

 这里指抛出一个假设:
 
如 果你在 storyboard中, 通过 Ctrl - Drag 方式声明了一个 @property , 但你又觉得 在 Ctrl - Drag 时 ,命名的property 不理想, 这时, 你直接在 .h   和 .m 文件中 修改了这个 实例变量的名字, 这时候,编译。  结果该会怎样呢?
 
不妨试试吧。
 
这时候,会出现以下错误, 而且还会 crash。
 
‘NSUnknownKeyException‘, reason: ‘[<NSObject 0x8c84da0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key name.‘
 
遇到这种问题, 又改怎么办呢 ?  解决办法:
1.  在 connection inspector 中, 删除这个 outlet 的关联;
2.  在 .h 或 .m 文件中, 找到声明的这个property, 删掉;
3.  在整个project 中,搜索这个 property, 待IBOutlet 重写声明后,替换之前的 property;

以上是关于iOS: setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key name.(示例代码的主要内容,如果未能解决你的问题,请参考以下文章

IO复用阻塞IO非阻塞IO同步IO异步IO

四种IO模型‘阻塞IO/非阻塞IO/信号驱动IO/异步IO‘

5种IO模型阻塞IO和非阻塞IO同步IO和异步IO

网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO

同步IO异步IO阻塞IO非阻塞IO之间的联系与区别

同步IO异步IO阻塞IO非阻塞IO之间的联系与区别