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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 阿泽泽 中级黑马   /  2016-5-21 23:31  /  729 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1)类里面的方法都是被转换成SEL变量进行存储的。

(2)放类声明一个对象,对象调用方法的时候,系统会被这个方法转换成SEL,然后拿这个SEL到类方法中去匹配。

(3)我们可以自己手动把方法转换成SEL,然后用这个SEL去查找方法。

#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char * argv[]) {

  @autoreleasepool {
    Person *p1=[[Person alloc]init];
    //正常方法,需要把eat转换成SEL,然后去匹配查找
    [p1 eat];
    //利用SEL,先我们自己把eat转换成SEL,然后用这个SEL去找
    SEL aaa=@selector(eat);
    [p1 performSelector:aaa];
    //合并写成
    [p1 performSelector:@selector(eat)];
  }
  return 0;
}

0 个回复

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