帮你了解Selector
来源:互联网 发布:大数据时代下载地址 编辑:程序博客网 时间:2024/04/28 22:36
帮你了解Selector
其实,Selector是objective-C/C++中消息机制的一个比较核心的内容。它可以与C++中的虚函数表相对应。关于这一点可以参阅《Cocoa入门——使用objective-C》第62、63页,关于消息运行机制的内容。然后,Apple公司的官方文档《The Objective-C 2.0 Programming Language》中有Selector这一章节可以参考。不过个人感觉光看这一段还不太容易理解。
最后,在代码中用到了objective-C原生的运行时API,可以通过Apple官方的《Objective-C 2.0 runtime Reference》来获得详细信息。
就我个人来看,selector就好比是一个非常灵活的函数指针。但是它要比C语言中的函数指针更加灵活,因为它的值并不是某个函数的地址,而仅仅是方法名。这一点比C++中的指向类成员指针要灵活得多,尽管它只是对方法(操作)的引用而无法引用数据成员(属性)。
不过,概念上,IMP类型才是一个方法指针类型。
代码中引入了runtime.h头文件,需要包含系统路径。我机器上上的是:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/usr/include/objc
请根据不同版本的XCode进行修改。
- 帮你了解Selector
- 帮你了解Selector
- 帮你了解Selector
- 帮你全面了解人工智能
- Oracle两个基本概念帮你了解体系结构
- Oracle两个基本概念帮你了解体系结构
- 帮你了解牟为松的承诺值不值钱?
- Android Studio手把手——帮你了解Gradle
- 我来帮你生动地了解AndroidUI控件!
- 5W1H1V分析法帮你快速了解产品
- sap各模块介绍 SAP模块顺口溜, 帮你对SAP有个大致的了解
- spring+hibernate 的包的详解,帮你了解每个包的作用
- C#.Net里面通过事件调用事件,通过简单了解相信可以帮你解决问题
- [经验分享] 后台统计信息,帮你更了解UCenter Home
- spring+hibernate 的包的详解,帮你了解每个包的作用
- 一篇文章帮你彻底了解 Swift 3.1 的新内容
- 帮你规划美好未来
- 帮你学习“注册表”!
- 树
- 分享11款主流的开源编程工具
- http://acm.hdu.edu.cn/showproblem.php?pid=2159&&二维完全背包
- Nehe第5课3D空间
- linux grep命令
- 帮你了解Selector
- 关于如何招募员工的四个建议
- 图像处理之应用卷积– 轧花与边缘检测
- 实习成果—GlusterFS
- 科学家发明了比原子钟准确约 100 倍的单离子钟,140 亿年后才需要再校正
- 程序员学英语三部曲(转自《程序员》杂志)
- 一位创始人兼VC给创业者的8条建议
- 存储管理——内存扩充技术
- 1975(Median Weight Bead)