runtime 註冊類,協議

2021-09-11 13:22:35 字數 733 閱讀 4272

runtime 註冊協議

首先,通過方法

objc_allocateprotocol

複製**

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

使用方法

protocol_addmethoddescription

複製**

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

然後使用方法:

void objc_registerprotocol(protocol *proto);

複製**

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

runtime 系統註冊類

通過方法:

objc_allocateclasspair

複製**

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

objc_registerclasspair

複製**

註冊乙個類,通過方法 objc_allocateclasspair 分配的類。

給類新增協議:

class_addprotocol

複製**

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

Runtime 五 協議與分類

objectvie c中的分類允許我們通過乙個類新增方法來擴充它 但是通過category不能新增新的例項變數 並且我們不需要訪問類中的 就可以做到。objectvie c中的協議是普遍存在的介面定義方式,即在乙個類中通過 protocol定義介面,在另外類中實現介面,這種介面定義方式也成為 del...

註冊類(類的註冊)

實現類的註冊方法 modulemanger.h 1.定義根類imodule,其它類都是繼承自它。2.定義typedef std mapstring module map 用於存放註冊類的指標。3.define declear module classname 註冊類的申明 class registe...

OC學習Runtime之協議與分類

堅持 成長 每日一篇 oc提供分類為已有的類進行擴充套件,提供協議來定義介面。分類 允許我們通過給乙個類新增方法來擴充它 但是通過category不能新增新的例項變數 並且我們不需要訪問類中的 就可以做到。分類在oc的定義為category category是表示乙個指向分類的結構體objc cat...