Runtime学习 -- weak应用源码学习

??Runtime源码分析,带你了解OC实现过程。其中参考了大量的大神的代码以及文献,里面也有个人的见解,欢迎拍砖,欢迎交流。

两种常见使用场景

/// weak属性@interface XX : XX@property(nonatomic,weak) Type* weakPtr;@end/// 代码块中使用{    /// 使用__weak
    __weak Type* weakPtr = [[SomeObject alloc] init];
}

根据调试信息,发现两者的区别是:

  • 第一种进入到 id objc_storeWeak(id *location, id newObj)方法
    ```
    /**

  • This function stores a new value into a __weak variabl

    网友评论