什么是Objective-C运行时中的类处理程序回调?

时间:2019-09-14 10:11:15

标签: objective-c objective-c-runtime

Objective-C运行时中的类处理程序回调是什么?根据文档,

  

objc_getClass与objc_lookUpClass的不同之处在于,如果未注册该类,则objc_getClass调用该类处理程序回调,然后再次检查该类是否已注册。 objc_lookUpClass不调用类处理程序回调。

1 个答案:

答案 0 :(得分:3)

它似乎是运行时的过时功能。在/usr/include/objc/runtime.h中,您可以在标记为/* Obsolete functions */的部分中找到以下声明:

OBJC_EXPORT void objc_setClassHandler(int (*)(const char *)) OBJC2_UNAVAILABLE;

因此,显然,在Objective-C 2.0之前,人们可以注册一个函数指针以用作类处理程序。我猜参数是类名。它将有机会加载或动态创建命名的类。