runtime 註冊類,協議

lazy_boy發表於2018-06-05

runtime 註冊協議

首先,通過方法

objc_allocateProtocol
複製程式碼

建立新的協議,如果存在相同的協議的名稱則返回空。

使用方法

protocol_addMethodDescription
複製程式碼

為該協議新增方法(注:該方法必須在使用 objc_registerProtocol 方法之前,否則無效)。

然後使用方法:

void objc_registerProtocol(Protocol *proto);
複製程式碼

向 runtime 系統當中註冊該協議。

runtime 系統註冊類

通過方法:

objc_allocateClassPair
複製程式碼

在 建立一個不存在的類和元類(如果,這個類已經存在則返回為nil,不存在則返回新類)。 通過方法:

objc_registerClassPair
複製程式碼

註冊一個類,通過方法 objc_allocateClassPair 分配的類。

給類新增協議:

class_addProtocol
複製程式碼

如果,這個協議新增成功則返回 YES。

相關文章