oc中的选择器SEL
2015-08-16 22:22
162 查看
今天说一下oc中一个重要的东西,就是oc中的选择器,选择器是用来选取我们的方法的,有点类似于函数指针,SEL变量是用来装消息的。
SEL创建
在ARC模式下使用SEL通常会有警告显示,此时可以使用以下代码去除警告
有时候我们使用方法的时候是需要在程序运行的时候来确定我们具体需要调用哪个方法的。此时我们可以使用如下的方法:
练习 给可变数组添加方法,可以添加任何对象,按照对象的某一个属性,排序
SEL创建
//用关键字selector来指向方法体 SEL sel = @selector(crash); //用SEL来调用我们的方法 [man performSelector:sel]; //带参数的方法调用 [man performSelector:@selector(setName:) withObject:@"Tom"];
在ARC模式下使用SEL通常会有警告显示,此时可以使用以下代码去除警告
//在ARC(自动内存管理)的条件下,使用选择器,很可能会报警 //可照如下方式去除报警 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" /*调用方法写这里*/ #pragma clang diagnostic pop
有时候我们使用方法的时候是需要在程序运行的时候来确定我们具体需要调用哪个方法的。此时我们可以使用如下的方法:
SEL sel = @selector(run); //这个方法用于编译时就能确定调用的方法 SEL sel = NSSelectorFromString(@"run"); //这个方法用于运行时确定调用的方法
练习 给可变数组添加方法,可以添加任何对象,按照对象的某一个属性,排序
相关文章推荐
- QT 笔记 01
- new,malloc区别
- IOS与android
- 文章标题
- jquery-ui.css源码分享
- 敏捷实践总结系列开篇
- Android 下拉刷新上拉加载 多种应用场景 超级大放送(上)
- 求逆元 - HNU 13412 Cookie Counter
- 手势密码控件--只需调用本控件即可实现自动锁屏的控件
- hdu 1085 Holding Bin-Laden Captive!
- java并发编程实战第五章(4)在任务中抛出异常
- 用Python 爬虫批量下载PDF文档
- erlang 内存问题
- splinter python浏览器自动化操作,模拟浏览器的行为
- 【算法】旋转字符串
- 设计模式(二十)之设计模式之 Interpreter(解释器)
- C#编程:Predicate<T> 委托
- 超详细!iOS 并发编程之 Operation Queues
- splinter python浏览器自动化操作,模拟浏览器的行为
- 用SGMLParser爬取天涯的帖子