热点新闻
iOS关联对象objc_setAssociatedObject探讨
2023-08-05 08:36  浏览:779  搜索引擎搜索“爱农网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在爱农网看到的信息,谢谢。
展会发布 发布信息 广告合作 软文发布

主要函数为:

//为给定的对象设置一个关联值 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)。

发布人:364a****    IP:117.173.23.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发