黑马程序员技术交流社区

标题: SEL 选择器 的相关 [打印本页]

作者: coding_wang    时间: 2015-9-6 23:57
标题: SEL 选择器 的相关
本帖最后由 coding_wang 于 2015-9-7 00:38 编辑

SEL: 表示方法的存储位置,可以根据SELf的数据找到相应的方法地址

例如:
设有类 Animal 中有 running方法
Animal  cat = [ Animal new ];
SEL s = @selector ( running );
此时 s中包含了 running方法在代码区中的地址信息
cat 对象 也可以利用 s 来执行running方法
[cat performSelecor:s]

选择器还可以查看
1)当前实例是不是某类或其派生类的实例对象;(这里是对象和类的关系)
    实例名 isKindOfClass: 类名
2)当前实例是不是某类本身的实例对象(这里是对象和类的关系)
    实例名  isMemberOfClass:类名
3)判断是否为指定类型的子类(这里是类和类的关系)
    类名 isSubclassOfClass: [类名 class];
4)对象是否能够相应指定的方法
   对象名 respondsToSelector : SEL;(要先将方法封装成SEL)
5)类中是否有指定的方法
   类名 instancesRespondToSelector : SEL; (指类中是否定义了这个方法,不论是类方法或对象方法)






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2