本帖最后由 doudou33420 于 2014-11-7 16:26 编辑
之所以报错是因为 同名方法都对应一个相同的SEL
但当不同类中的方法被#import到main函数或其他类中 这些方法就放到一起来了 然后使用@selector单独查找的时候 是不会把同名区分开的
只有当你用类名或者对象名 来调用的时候 他才能区分开; 所以你先用@selector查找出来的东西有可能不是你想查找的类中的方法SEL地址;
但当你用[p performselector: @ selector]的时候 你自己看看@selector左边多了什么,
多了类名嘛 意思是 在这个类里面查找方法名 并转换成地址; 所以既然是在取这个类中的方法来转换 那怎么可能会警告可能会找不到方法名呢
你不信可以用NSselectformstring来试试 放哪里都会警告
希望你能理解我说的 |