《Objective-c》-(SEL)

 

SEL

1.SEL类型的定义

    

2.方法的存储位置

  • 每个类的方法列表都存储在类对象

  • 每个方法都有一个与之对应的SEL类型的对象

  • 根据一个SEL对象就可以找到方法的地址,进而调用方法

3.SEL对象的创建

    方式一:

  

  方式二:将一个字符串转换成SEL类型的数据

  

4.用SEL调用方法

  • 无形参方法的调用:

①:将方法(test)包装成SEL类型的数据;

     

②:根据SEL数据找到对应的方法地址;

③:根据方法地址调用对应的方法;

     

整合后:

相当于:[p test];

  • 有形参的方法的调用

      

相当于:[p test3 : @"abc"];

5.SEL的其他使用使用注意

  • SEL类型的数据不能直接打印,需要用 NSStringFromSelector(_cmd);转换为字符串类型,打印。

       

  • 每个方法内部都隐藏着一个SEL类型的数据_cmd,并且这里的_cmd代表着当前方法!

        

  • 注意点:死循环

       

  • 其实给对象发送消息就是发送SEL

 
 
 
 
posted @ 2015-03-16 00:59  深秋的露水  阅读(377)  评论(0编辑  收藏  举报