18.关联对象源码解析
前言
一、 关联对象
// .h
@property (nonatomic, copy) NSString *cateName;
// .m
- (void)setCateName:(NSString *)cateName {
objc_setAssociatedObject(self, "cateName", cateName, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
- (NSString *)cateName {
return objc_getAssociatedObject(self, "cateName");
}二、 objc_setAssociatedObject


2.1 AssociationsHashMap


2.2 try_emplace

一次 set 两次调用了 try_emplace

触发set


2.3 LookupBucketFor
2.4 InsertIntoBucket
三、 关联对象释放
3.1 dealloc
Last updated