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]
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]
相关文章推荐
- 数据库的知识点总结
- [android](仿联系人)带分类、分类顶部保留替换ListView——StickyList
- 微快客安装和教程
- 数据库的知识点总结
- volley框架 出现at com.android.volley.Request.<init>
- [Object-c] 在ios程序中自动滚动TableView到某行的方法
- UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/su
- 用MySQL实现微博关注关系的方案分析
- 变量名和地址之间的关系
- JAVA判断文件编码类型
- OC1_类方法的内存管理
- CSS position财产
- 联诚发(LCF)派礼物,平平安安过端午
- windows7 鼠标右键菜单出现在光标左边
- 《梦断代码》阅读笔记3
- 游标第一次应用
- color
- Category和Extension
- Java基础 IO流 File Properties PrintWriter 序列流SequenceInputStream
- 【Theory of Generalization】林轩田机器学习基石