【问题】
通过
http://blog.csdn.net/yasi_xi/article/details/46651415 描述的方式创建label对象的代码映射,以及button按下的action的事件处理代码。然后手工在.m/.h文件中删除某些通过拖拽生成的变量定义或其他代码,结果build成功,但是运行出错:
【可能的出错原因】
根据
http://stackoverflow.com/questions/8232766/terminating-app-due-to-uncaught-exception-nsunknownkeyexception
的解释,
可能是在手工删除代码的时候,没有把InterfaceBuilder中的钩子(hook)一道删除掉
。
【yasi】建议先在 IB 中删除connection,然后手工删除映射的代码内容
。比如:
【结论】
使用InterfaceBuilder,然后又做了手工修改的时候,要小心了:在.m/.h中删除outlet变量之前,要先确保将它们对应的在InterfaceBuilder中connection被删除了。
(When deleting any outlets for vars in the implementation, make sure to unhook the respective connection in the IB)