代码改变世界

转:unrecognized selector sent to class

2012-02-03 19:23  张智清  阅读(1888)  评论(0编辑  收藏  举报

问题:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[UIBarButtonItem BarButtonItemWithTitle:type:target:action:]: unrecognized selector sent to class 0x87600c'

环境:XCode4.2

场景:这种问题多发生在XCode4.2 移植低版本项目时出现,编译无问题,在运行是crash。

原因:unrecognized selector sent to class,特别注意下这里面的class,这里的处理方法和unrecognized selector sent to intance,方法是完全不同的。前者主要原因是在.h文件中声明和实现多个类导致的(未从苹果文档上找到详细对应的条款,如果有谁知道可以告知下)。后面的问题主要是临时变量引起的。

解决方案:把.h文件中的多个类的声明和实现分别放到不同的文件内,然后在这些.h文件中包含这些文件即可。

本文转载自:http://blog.csdn.net/ugg/article/details/7221233