选择器Selector的使用
来源:互联网 发布:python 绘制中国地图 编辑:程序博客网 时间:2024/05/19 18:14
selector oc 数据类型 选择器 跨类传参 方法名 sel it 分类: [iPhone开发]
Selector是OC特有的一种数据类型。可以简单理解为方法的调用。和普通方法调用不同的是。选择器的特点是可以跨类传参。你可以在A类中声明某方法,然后在B类中控制该方法的调用。
说白了SEL就是返回方法名。
这样的机制大大的增加了我们的程序的灵活性,我们可以通过给一个方法传递SEL参数,让这个方法动态的执行某一个方法;我们也可以通过配置文件指定需要执行的方法,程序读取配置文件之后把方法的字符串翻译成为SEL变量然后给相应的对象发送这个消息。
SEL sel = @selector(setName:age:); //selector的声明
当然,在实际应用中,selector是不需要使用这个声明的。因为selector实际上就是方法名。所以直接使用写好的方法名就行了。
跨类动态调用方法示例:
a.m
-(void) forTest
{
B *b = [B initWithDelegate:self
Selector1: @selector(testA:)
Selector2:@selector(testB:)
isA:YES];
}
-(void) testA
{
NSLog(@"I'm TestA");
}
-(void) testB
{
NSLog(@"I'm TestB");
}
b.m
-(id)initWithDelegate:(id) m_delegate
Selector1: (SEL) testA
Selector2: (SEL) testB
isA:(BOOL) isTrue
{
forTestA = testA;//在H文件中定义过SEL类型的forTestA了。
forTestB = testB;//同上
if(isTrue)
[m_delegate forTestA];
else
[m_delegate forTestB];
}
Selector是OC特有的一种数据类型。可以简单理解为方法的调用。和普通方法调用不同的是。选择器的特点是可以跨类传参。你可以在A类中声明某方法,然后在B类中控制该方法的调用。
说白了SEL就是返回方法名。
这样的机制大大的增加了我们的程序的灵活性,我们可以通过给一个方法传递SEL参数,让这个方法动态的执行某一个方法;我们也可以通过配置文件指定需要执行的方法,程序读取配置文件之后把方法的字符串翻译成为SEL变量然后给相应的对象发送这个消息。
SEL sel = @selector(setName:age:); //selector的声明
当然,在实际应用中,selector是不需要使用这个声明的。因为selector实际上就是方法名。所以直接使用写好的方法名就行了。
跨类动态调用方法示例:
a.m
-(void) forTest
{
B *b = [B initWithDelegate:self
Selector1: @selector(testA:)
Selector2:@selector(testB:)
isA:YES];
}
-(void) testA
{
NSLog(@"I'm TestA");
}
-(void) testB
{
NSLog(@"I'm TestB");
}
b.m
-(id)initWithDelegate:(id) m_delegate
Selector1: (SEL) testA
Selector2: (SEL) testB
isA:(BOOL) isTrue
{
forTestA = testA;//在H文件中定义过SEL类型的forTestA了。
forTestB = testB;//同上
if(isTrue)
[m_delegate forTestA];
else
[m_delegate forTestB];
}
0 0
- Selector选择器的使用
- selector选择器的使用
- 选择器Selector的使用
- Android Selector选择器的使用
- Selector的使用(选择器)
- android的selector,背景选择器的使用
- Android的selector背景选择器使用
- Android美工坊--selector选择器的使用
- Android美工坊:Selector选择器的使用
- Android美工坊--selector选择器的使用
- Android selector背景选择器的使用详解
- android selector 背景选择器的使用
- 安卓 selector (选择器)的简单使用
- Android selector背景选择器的使用详解
- Android selector背景选择器的使用详解
- Android中选择器selector的使用
- Android 之Selector选择器的使用
- Android 中 selector 选择器的使用
- Hdu 1050
- Android 中 View 炸裂特效的实现分析
- MarkdownPad 2 注册码 RSA私钥
- servlet-api-2.4.jar not loaded解决方法
- 本地音乐播放器(一)——简介篇
- 选择器Selector的使用
- 内部类的作用
- 大型网站架构系列:分布式消息队列(一)
- swift简单学习之字典
- android 跟随手指移动的 view
- solution Of Pat 1111. Online Map (30)
- Android WebView使用详解
- 求素数,乘法口诀表,判断闰年
- 正式和非正式