这里指抛出一个假设:
如 果你在 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;