SEL----selector, 一种用来表示方法名类型的数据类型 (方法名)
SEL类型作用:
可以定义变量
作为方法的形参
作为方法的实参
类中方法存储的原理:
1) 类里面的方法都是被转换成SEL变量进行存储的.
2) 当类声明一个对象, 对象调用方法的时候, 系统会把这个方法转换成SEL, 然后拿这个SEL到类方法中去匹配.
3) 可手动吧方法转换成SEL, 然后用这个去查找方法.
_cmd---->每个方法的内部都有一个_cmd, 代表着当前方法.
注: SEL其实是对方法的一种包装, 将方法包装成一个SEL类型的数据, 去寻找对应的方法地址, 找到方法地址后就可以调用方法. 这些都是运行时特性, 发消息就是发送SEL, 然后根据SEL找到地址, 调用方法. |
|