您的位置:首页 > 其它

OC学习--选择器(Selector)

2015-06-19 18:49 232 查看
选择器(Selector)

OC中使用(selector)和 block(代码块)传递函数

SEL和id以及Class等都是OC里的数据类型,和int、float的地位一样。SEL变量可以存储selector数据。

可以通过@selector来获取某方法的selector。

SEL afun = @selector(someMethodName:::::);

实例对象可以通过performSeletor方法来调用SEL方法。

【特点】

1、是一种数据类型SEL

2、SEL类型的变量用于存放方法的

【使用】

1、创建SEL类型的变量

//定义SEL类型的变量(编译时)

    SEL sel = @selector(eat);

    //动态的创建SEL变量(运行时)

    SEL sel2 =
NSSelectorFromString(@"eat");

//在执行时直接创建SEL变量没有警告

    [cat performSelector:@selector(eat)];

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Warc-performSelector-leaks"

//这样使用会有警告,加上外面语句可以忽略

[cat performSelector:sel2];

#pragma clang diagnostic push

//通过selector调用方法时,若方法没有实现会导致崩溃

2、判断某个类是否实现了selector中的方法

//判断对象所属的类是否实现了selector中的方法

[cat
respondsToSelector:sel2]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: