ios之SEL
来源:互联网 发布:大数据用英语怎么说 编辑:程序博客网 时间:2024/06/10 04:46
SEL其实是对方法的一种包装,将方法包装成一个SEL类型的数据,去找对应的方法地址。找到方法地址就可以调用方法, 其实消息就是SEL。对于下列方法调用:
[p test2];
主要有以下步骤:
1.把test2包装成SEL类型的数据
2.根据SEL数据找到对应的方法地址
3.根据方法地址调用对应的方法
比如一个类中有两个方法:+test和-test2每个方法在内存中的地址都有一个对应的SEL与之对应
SEL s1 == +test地址
SEL s2 == -test2地址
对象找要调用的方法时,isa指针会根据调用的方法名在类中找到相关的SEL对象(方法地址)去调用。所以,调用方法还可以用如下形式:
[pperformSelector:@selector(test2)];
performSelector:@selector(test2)返回的就是test2的方法地址。
如果方法还有参数,比如- (void)test3:(NSString *)abc,还可以按照如下格式调用:
[pperformSelector:@selector(test3:) [Object:@”abc”]];
对于上述调用方法,test3后一定要加”:“,因为”:”也是有参数方法的方法名的一部分。
0 0
- ios之SEL
- iOS开发之SEL用法
- iOS SEL
- iOS SEL
- iOS SEL类型
- iOS SEL类型
- iOS SEL类型
- iOS SEL类型
- iOS SEL类型
- iOS SEL类型
- iOS SEL类型
- iOS SEL类型
- IOS SEL类型
- iOS SEL(@selector)原理
- iOS SEL的简单总结
- IOS开发- SEL知识回顾
- iOS SEL的简单总结
- description 方法 和 SEL - iOS
- OC之description
- i++和++i的区别
- iOS进阶面试题----多线程
- Windows Socket 非阻塞模式开发
- android audio截取PCM数据
- ios之SEL
- Tomcat配置 无需加项目名直接访问项目
- 利用Qt.locale显示本地化数据
- TDD+结对编程活动分享
- 一种新颖创新的办公室设计风格引领时尚的潮流
- 实现一个方法,搭出最高的一堆箱子,箱堆的高度为每个箱子高度的总和
- 《C++primer(第五版)》学习之路-序
- 内存 地址 分配
- enq: TM - contention TM 等待事件的原因及模拟(表外键约束无索引导致)