iOS runtime ~ objc_setAssociatedObject方法详解

来源:互联网 发布:信鸽查询软件下载 编辑:程序博客网 时间:2024/05/16 04:59

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄

一、objc/runtime.h相关

   Objecitve-C的重要特性Runtime(运行时),在Interacting with the Runtime交互运行)中,运行时函数部分,苹果给出了/usr/lib/libobjc.A.dylib库,这个共享库提供支持动态属性的objective - c语言,通过其接口,可以用于开发将其他语言运行于Objective-C上的中间层(桥接层),库里的函数定义为C语言。

                

二、objc_setAssociatedObject函数的属性含义:

                

   objc_setAssociatedObject(id object,constvoid *key,id value, objc_AssociationPolicy policy)

     id object                     :表示关联者,是一个对象,变量名理所当然也是object

     constvoid *key               :获取被关联者的索引key

     id value                      :被关联者,这里是一个block

     objc_AssociationPolicy policy :关联时采用的协议,有assignretaincopy等协议,一般使用OBJC_ASSOCIATION_RETAIN_NONATOMIC


谢谢!!!