IOS选择器的使用

 
        [person sleep];
        //选择器 SEL类型
        SEL sel = @selector(sleep);//把OC的一个函数名转化为选择器类型SEL
        //和C的函数指针类似
        
        sel = @selector(run);
        if ([person respondsToSelector:sel]) {//判断sel选择器代表的函数在person所属的类中有没有实现,判断sel代表的消息有没有响应
            [person performSelector:sel];//执行选择器
            //调用sel选择器代表的方法
        }
        
        //@selector(函数名);
        SEL sel1 = @selector(printString:);
        if ([person respondsToSelector:sel1]) {
            [person performSelector:sel1 withObject:@"1318ios"];//带一个参数的函数使用selector
        }
        
        //第二种方式转化为选择器NSSelectorFromString();
        
        SEL sel2 = NSSelectorFromString(@"run");
        //把OC的字符串转化为SEL选择器类型;
        
        //这个字符串是一个函数名字符串
        if ([person respondsToSelector:sel2]) {//判断sel选择器代表的函数在person所属的类中有没有实现,判断sel2代表的消息有没有响应
            [person performSelector:sel2];//执行选择器
            //调用sel2选择器代表的方法
        }
        
        
    }
    return 0;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值