A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© coding_wang 中级黑马   /  2015-9-6 23:57  /  502 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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; (指类中是否定义了这个方法,不论是类方法或对象方法)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马