iOS关联对象objc_setAssociatedObject探究

程序员 2024-9-4 18:55:13 90 0 来自 中国
重要函数为:
//为给定的对象设置一个关联值public func objc_setAssociatedObject(_ object: Any, _ key: UnsafeRawPointer, _ value: Any?, _ policy: objc_AssociationPolicy)//返回与给定键的给定对象关联的值public func objc_getAssociatedObject(_ object: Any, _ key: UnsafeRawPointer) -> Any?//移除给定对象的全部关联public func objc_removeAssociatedObjects(_ object: Any)objc_setAssociatedObject 相称于 setValue:forKey 举行关联value对象
objc_getAssociatedObject 用来读取对象
objc_AssociationPolicy  属性 是设定该value在object内的属性,即 assgin, (retain,nonatomic)...等
相关参数先容:
key:要包管全局唯一,key与关联的对象是逐一对应关系。必须全局唯一。
value:要关联的对象。
policy:关联战略。有五种关联战略。
OBJC_ASSOCIATION_ASSIGN 等价于 @property(assign)。
OBJC_ASSOCIATION_RETAIN_NONATOMIC等价于 @property(strong, nonatomic)。
OBJC_ASSOCIATION_COPY_NONATOMIC等价于@property(copy, nonatomic)。
OBJC_ASSOCIATION_RETAIN等价于@property(strong,atomic)。
OBJC_ASSOCIATION_COPY等价于@property(copy, atomic)。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2025-4-11 14:12, Processed in 0.215176 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表