全站数据
8 4 2 0 5 8 1

c语言sel是什么意思

漫漫自考路 | 简单学习,快乐成才!         
问题更新日期:2024-10-13 15:14:45

问题描述

c语言sel是什么意思急求答案,帮忙回答下
精选答案
最佳答案

C语言SEL:类成员方法的指针。(不同于C语言中的函数指针,函数指针直接保存了方法的地址,SEL只是方法编号)

IMP:一个函数指针,保存了方法的地址。

IMP和SEL关系:

每一个继承于NSObject的类都能自动获得runtime的支持。在这样的一个类中,有一个isa指针,指向该类定义的数据结构体,这个结构体是由编译器编译时为类(需继承于NSObject)创建的。在这个结构体中又包括指向其父类类定义的指针以及Dispatch table.Dispatch table是一张SEL和IMP的对应表。也就是说方法编号SEL最后还是要通过Dispatch table表寻找对应的IMP,IMP就是一个函数指针,然后执行这个方法。