[隨筆]swift 筆記

來源:互聯網
上載者:User

標籤:選擇   一個   因此   swift   optional   需要   從表   引用   retain   

1. weak unowned 區別:從表面的行為上來說 unowned 更像oc的 unsafe_unretained,而 weak 就是oc的 weak。用通俗的話說,就是 unowned 設定以後即使它原來引用的內容已經被釋放了,它仍然會保持對被已經釋放了的對象的一個 "無效的" 引用,它不能是 Optional 值,也不會被指向 nil。如果你嘗試調用這個引用的方法或者訪問成員屬性的話,程式就會崩潰。而 weak 則友好一些,在引用的內容被釋放後,標記為 weak 的成員將會自動地變成 nil (因此被標記為 @weak 的變數一定需要是 Optional 值)。關於兩者使用的選擇,Apple 給我們的建議是如果能夠確定在訪問時不會已被釋放的話,盡量使用 unowned,如果存在被釋放的可能,那就選擇用 weak

 

[隨筆]swift 筆記

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.