微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

帮你了解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进行修改

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐