Objective-C 中的函数调用是消息机制,所以在代码中我们可以调用对象一个不存在的方法而通过编译器检查,编译器所作的仅仅是给你一个警告“xxx may not respond to xxfun”.
有时候着急开发代码,就把这个警告忽略过去了,今天才发现,实在是不能忽略啊! 如果你调用某个对象没有在头文件中声明的方法, 或者你用一个对象的父类指针调用子类独有的方法,实际执行时编译器虽然可以给你找到对应的方法,但坑爹的是,它会在漫长的寻找过程中搞错参数,使你完全得不到正确的调用结果。
教训,千万不要忽略警告.....