setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key

其中一个变量或属性(variable 或 property)已经和一个nib或storyboard文件进行了连接,但是后来在Xcode 开发环境,将该 变量或属性名进行了更改。

如 UILabel *label; 更改为 UILabel *newLabel; 这个时候编译或运行App,将出现类似前面的异常信息。

如何解决这一问题呢?
你需要解除或删除之前连接了连接(connection),然后重新建立新的变量或属性名到nib或storyboard文件之间的连接。

下图是管理和维护属性和View Controller之间Outlet连接图:

setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key_第1张图片


如果还不能解决问题,可能是由于xib文件或者storyboard文件中得变量或属性名还没有被改变过来或者原先旧的变量名还有残留:


此时,根据编译器错误提示信息,找到对应的残留项删除之即可:

setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key_第2张图片


reference: http://www.entlib.net/?p=892

你可能感兴趣的:(setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key)