iOS 之选择器(Selector)
来源:互联网 发布:程序员数学 编辑:程序博客网 时间:2024/04/30 23:51
1 前言
本文是一篇关于选择器(Selector)的文章,Selector可以理解为一个方法名,具体见下文。
英文原文:http://blog.csdn.net/developer_zhang/article/details/12188099
转载请注明出处: http://blog.csdn.net/developer_zhang
2 详述
Selector是一个对象中用来选择方法来执行的名字,或者是当源代码编译时候用来替换名字的唯一的标示。Selector自己并不能做任何事情。它简单的标示了一个方法。使得selector方法名称不同于普通字符串的唯一的事情是编译器确定selectors是独特的。使得selector有用的是(与运行时结合)它扮演着类似于一个动态函数指针,对于一个已经给与的名字,自动指向类所使用的适用的方法的实现。假设我们有一个run方法的selector,并且类Dog,Athlete和ComputerSimulation(每个类都实现了run方法)。Selector能够被每一个类的实例所使用并且调用它的run方法--设置方法的实现可能是互不相同的。
2.1 如何获得Selector
被编译的selectors是SEL类型的。有两种方式获得selector:
·在编译期,我们使用编译标示@selector
SEL aSelector = @selector(methodName);
·在运行时,我们使用NSSelectorFromString方法,字符串是方法名:
SEL aSelector = NSSelectorFromString(@"methodName");
当我们想要我们的代码发送一个知道运行时我们才知道名字的消息的时候,我们使用selector创建一个字符串。
2.2 如何使用Selector
我们能够调用以selector为参数的performSelector:的方法并且其他类似的方法来使用:
SEL aSelector = @selector(run);[aDog performSelector:aSelector];[anAthlete performSelector:aSelector];[aComputerSimulation performSelector:aSelector];
(我们使用这个技术在特殊的情况下,例如我们实现了一个使用target-action设计模式的对象。通常,我们直接的简单的调用该方法。)
3 结语
以上是所有内容,希望对大家有所帮助。
- iOS 之选择器(Selector)
- IOS深入学习(17)之Selector(选择器)
- NIO边看边记 之 selector选择器(六)
- WPF:选择器(selector)
- WPF:选择器(selector)
- selector.xml(选择器)
- Selector(选择器)
- Android开发之状态选择器(selector)详解
- Html5中的选择器(Selector)
- Selector的使用(选择器)
- OC学习--选择器(Selector)
- 画板之 android的selector,背景选择器
- 菜鸟学Android 之 selector背景选择器
- Java nio 之 选择器selector基础
- Android之Selector详解(背景选择器)
- Android:res之selector背景选择器
- Android样式和主题之选择器Selector
- Android:res之selector背景选择器
- redis的PHP封装
- android 5.0+原生质设计,cardview、Recyclerview、百分比布局PercentRelativeLayout简单使用
- adb命令 logcat查看日志
- HDU 5326 公司人员管理树问题(多校)-简单dp
- 浅谈MFC单文档(SDI)程序
- iOS 之选择器(Selector)
- neusoft.shixi__任务一
- 《人工智能教程(张仰森)》(二)
- box草稿2--个人技能发展计划
- select
- Aizu 0009 Prime Number
- Android面试题(含答案)
- Ralink RT3070 AP移植笔记
- Eclipse SVN插件安装