OC语言特性相关

2019-05-09  本文已影响0人  X勒个F

1. 分类-category

2. 关联对象


id objc_getAssociatedObject(id object, const void *key)


void objc_setAssociatedObject(id object, const void *key, id value, object_AssociationPolicy policy)


void objc_removeAssociatedObject(id object)

关联对象由AssociationsManger管理并在AssociationsHashMap存储。所有对象的关联内容都在同一个全局容器中。

关联对象的本质 QQ20190509-015117@2x

3. 扩展-Extension

4. 代理-Delegate

5. 通知-NSNotification

通知

6. KVO

7. KVC

8. 属性关键字

9. MRC下重写retain修饰变量的setter方法


@property (nonatomic, retain) id obj:

- (void)setObj:(id)obj {
    if (_obj != obj) { // 防止传入同一个变量被释放,后面访问出错
        [_obj release];
        _obj = [obj retain];
    }
}

上一篇 下一篇

猜你喜欢

热点阅读