runtime中的關聯使用方式

在runtime 中有一個對象的關聯的用法:


OC中的關聯就是在已有類的基礎上添加對象參數。來擴展原有的類,需要引入#import <objc/runtime.h>頭文件。

關聯是基於一個key來區分不同的關聯。


static char key;

常用的3個方法

1>objc_removeAssociatedObjects(self); 移除關聯

2>

1 創建關聯(源對象,關鍵字,關聯的對象和一個關聯策略。)
2 關鍵字是一個void類型的指針。每一個關聯的關鍵字必須是唯一的。通常都是會採用靜態變量來作爲關鍵字。
3 關聯策略表明了相關的對象是通過賦值,保留引用還是複製的方式進行關聯的;關聯是原子的還是非原子的。這裏的關聯策略和聲明屬性時的很類似。

objc_setAssociatedObject(self, &key, block, OBJC_ASSOCIATION_COPY); 設置關聯


3>objc_getAssociatedObject(self, &key); 設置關聯


參考文章:http://itjoy.org/?p=615

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章