oc - 6 description NSLog(扩展) SEL

-description


输出结果为

1.会调用 实例对象p的-description方法
2.拿到-description方法的返回值(NSString *)显示到屏幕上

一般情况下我们会重写description方法.
+description
1.会调用 类对象 Person的+description方法输出结果.
2.+description方法的返回值(NSString *)显示到屏幕上.
例如Class c = [Person class];
       NSLog(@"%@"  ,  c); 
       默认会输出"Person".


NSLog(扩展)
结果是




SEL  给方法的一个包装

1.          方法的存储位置

  • 每个类的方法列表都存储在类对象中
  • 每个方法都有一个与之对应的SEL类型的对象
  • 根据一个SEL对象就可以找到方法的地址,进而调用方法

  • 1.          SEL对象的创建

    SEL s = @selector(test);

    SEL s2 = NSSelectorFromString(@"test");    NSSelectorFromString:把字符串数据传入,转成sel类型数据.


等价于下面

上面等价于 SEL s =@selector(tesr2);
                   [p  performSelector s];
performSelector:调用p对象里的SEL类型数据方法 s.
SEL作用
1.把test2包装成SEL类型的数据.
2.根据SEL数据找到对应的方法地址
3.根据方法地址调用对应的方法.

如果要传入数据,用下面方法.

_cmd    是SEL类型数据 代表当前方法的SEL类型数据




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值