回覆列表
  • 1 # 使用者2458114238191884

    __weak修飾符的優點,除了解決迴圈引用的問題,在持有某物件的弱引用時,若該物件被廢棄,則此弱引用將自動失效並且處於nil被賦值的狀態(空弱引用)

    2. 儘管ARC式的記憶體管理時編譯器的工作,但附有 __unsafe_unretained 修飾符的變數不屬於編譯器的記憶體管理物件。

    3. __weak 修飾符只能用於ios5以上以及OS X Lion 以上版本的應用程式。

    4.將生成的物件直接賦給__weak 或者__unsafe_unretained 的變數會產生警告 [-Warc-unsage-ratained-assign];

    需將強引用的物件賦值給__weak 或者__unsafe_unretained 的變數。

    5. 在ARC下,使用@autoreleasepool塊來替代“NSAutoreleasePool類物件生成、持有及廢棄”這一範圍。

    6. obj為強引用,自己持有物件。該物件由編譯器判斷其方法後,自動註冊到autoreleasepool,因為變數obj超出了作用域,強引用失效,所以自動釋放了自己持有的物件。

    同時隨著@autoreleasepool塊的結束,註冊到autoreleasepool中的所有物件被自動釋放。因為物件的所有者不存在,所以廢棄物件。

  • 中秋節和大豐收的關聯?
  • 青芒很硬的時候能吃嗎?