SEL类型

作者: MarkTang | 来源:发表于2016-01-09 00:50 被阅读294次
代表方法的签名 
SEL  sel = @selector(setAge:);
Person * p = [Person new];

BOOL flag = [p respondsToSelector:sel];
类调用就判断类方法 对象使用就是用对象调用
SEL  sel = @selector(setAge:);
Person * p = [Person new];

[p performSelector:sel];
配合对象调用方法

参数只能是对象,如果参数多余两个不能调用
根据对象调用制定方法和制定参数
作为方法的形参

//问题1:SEL是什么类型?
答:
数据类型
SEL类型代表着方法的签名,在类对象的方法列表中存储着该签名与方法代码的对应关系
//问题2:SEL有什么作用?
答:
SEL类型的第一个作用, 配合对象/类来检查对象/类中有没有实现某一个方法
SEL类型的第二个作用, 配合对象/类来调用某一个SEL方法
配合对象将SEL类型作为方法的形参
          
把方法打包成一个具有SEL签名的对象
//问题3:哪个方法是用来检验对象是否实现了某个方法?
答:
[perfrom]
  判断实例是否实现某个对象方法
  
  - (BOOL)respondsToSelector: (SEL)selector
  判断类是否实现某个类方法
  
  + (BOOL)instancesRespondToSelector:(SEL)aSelector;
//问题4:哪些方法是用来调用对象中SEL类型对应的方法?
答:
perfromSelectToWith:

让对象执行某个方法

- (id)performSelector:(SEL)aSelector;
- (id)performSelector:(SEL)aSelector withObject:(id)object;
- (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2;

相关文章

  • SEL、IMP和Class

    转载自:Objective-C中的SEL、IMP和Class类型 1、SEL类型 例子: SEL say; SEL...

  • SEL类型

  • SEL类型

    1.什么是SEL类型 SEL类型代表着方法的签名,在类对象的方法列表中存储着该签名与方法代码的对应关系 每个类的方...

  • 运行时系统

    选择器 SEL 类型 运行时系统有许多将SEL类型变量用作参数的动态方法。 SEL aMehtod = @sele...

  • iOS入门小知识-SEL

    SEL选择器 SEL选择器是一个变量类型,这个类型写作SEL。SEL的变量装载的是”成员方法”,更准确的说,装载的...

  • SEL类型 - OC

    SEL:全称selector表示方法的存储位置。(SEL其实是对方法的一种包装,将方法包装成一个SEL类型的数据,...

  • SEL和IMP的区别

    IOS SEL 其中@selector()是取类方法的编号,取出的结果是SEL类型。SEL:类成员方法的指针,与...

  • SEL/NSString

    SEL:函数指针,函数标识的数据类型。SEL set=@selector(area); BOOL b=[s res...

  • iOS 方法选择器 Selector/SEL

    Selector/SEL 都叫方法选择器,Selector是一个变量的类型,SEL是一个Char *的指针。SEL...

  • IOS SEL(@selector)原理以及应用

    IOS SEL(@selector)原理其中@selector()是取类方法的编号,取出的结果是SEL类型。SE...

网友评论

      本文标题:SEL类型

      本文链接:https://www.haomeiwen.com/subject/vmxqkttx.html