Objective-C的方法被两种数据类型描述:一个是选择子(SEL),它用来描述方法的名称;另一个是实现(IMP),它用来描述方法被调用时实际执行的代码(它们基本上只是C函数的指针).
类似于SEL结构,IMP可以通过运行时获取,并且也可以(作为参数)传递到函数和方法中去.
大多数情况下,你只使用选择子.你只在访问一些Objective-C运行时高级特性的时候才会使用IMP结构.
你可以这样认为:SEL是一个Objective-C方法的抽象表示,而IMP是具体的实现.
时间: 2024-10-08 06:36:27