iOS開發 .framework的Optional(弱引用)和Required(強引用)區別


首先,參考文檔:https://blog.stackmob.com/2013/03/objective-c-tip-of-the-month-optional-frameworks/

強引用(Required)的framework是一定會被加載到內存的,但是弱引用(Optional)的framework只在需要時才會被載入內存,這對於比較大的framework來說,在最初加載的時候會省很多時間。

簡單解釋一下,有一些庫如Social.framework 和 AdSupport.framework,是在iOS6之后才被引入的,還有一些更新了新特性的只能在iOS6+上可用。當你添加一個framework到你的工程里,他們被默認強引用(Required),然而,當你最終把程序配置在運行5.0的設備上時,你會發現它通不過最戶的加載,原因就在於這些庫是不被iOS5.0支持的,就需要我們把這些庫的引用改為Optional.

其次,如果你遇見了這個錯誤:duld:Library not found………………說明你有不應該強引用的可存在,這個錯誤報告里都會指明有哪些庫需要弱引用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM