This question already has answers here:
How do SEL and @selector work? [duplicate]

(2个答案)


已关闭6年。




我发现SEL类型具有下一个定义:
typedef struct objc_selector *SEL;

但是我找不到objc_selector的实现方式。

好吧,如果我们有下一个代码
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
  SEL mySelector = NSSelectorFromString(@"mySelector");
  return 0;
}

,那么mySelector只是一个指针。在它包含的地址之后,我们看到了C字符串,它可以显示为:
const char* mySelector = "mySelector";

但是objc_selector不是C字符串,它是结构,可以包含其他内容。所以我想知道objc_selector结构是如何实现的。

最佳答案

这可能对您有帮助:



来自:here

10-08 12:12