首页 > 解决方案 > Objective-C 运行时中的类处理程序回调是什么?

问题描述

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

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

标签: objective-cobjective-c-runtime

解决方案


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

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

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


推荐阅读