runtime 注册类,协议

289 阅读1分钟

runtime 注册协议

首先,通过方法

objc_allocateProtocol

创建新的协议,如果存在相同的协议的名称则返回空。

使用方法

protocol_addMethodDescription

为该协议添加方法(注:该方法必须在使用 objc_registerProtocol 方法之前,否则无效)。

然后使用方法:

void objc_registerProtocol(Protocol *proto);

向 runtime 系统当中注册该协议。

runtime 系统注册类

通过方法:

objc_allocateClassPair

在 创建一个不存在的类和元类(如果,这个类已经存在则返回为nil,不存在则返回新类)。 通过方法:

objc_registerClassPair

注册一个类,通过方法 objc_allocateClassPair 分配的类。

给类添加协议:

class_addProtocol

如果,这个协议添加成功则返回 YES。