OC的编译器会将方法名,是方法名哦,带冒号的哦,编译成SEL类型的数据,也就是中源代码中的方法名编译后会变成SEL类型的数据,方法名相同的方法的SEL类型的数据都是一样的。运行时,运行时系统会根据会确定消息接受者的实际类型,然后在该对象的类对象中搜索消息名(方法名),这个时候是SEL类型的数据了哦,如果一个类中存在重载的方法,运行时系统 将乎出错,如果方法名相同 而返回值或参数类型不同,这个时候将会出现各种预料不到的错误。所以编译的时候如果有重载,编译器就会警告,运行时如果方法签名不一致 ,就会出错。over |
|