Runtime學(xué)習(xí) -- weak應(yīng)用源碼學(xué)習(xí)

??Runtime源碼分析,帶你了解OC實現(xiàn)過程。其中參考了大量的大神的代碼以及文獻,里面也有個人的見解,歡迎拍磚,歡迎交流。

兩種常見使用場景

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

根據(jù)調(diào)試信息,發(fā)現(xiàn)兩者的區(qū)別是:

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

  • This function stores a new value into a __weak variabl

    網(wǎng)友評論