前提知識】
ARC:Automatic Reference Counting,自動引用計數
在開發 iOS 3 以及之前的版本的項目時我們要自己負責使用引用計數來管理內存,比如要手動 retain、release、autorelease 等,而在其後的版本可以使用 ARC,讓系統自己管理內存。
【問題】
在項目開發過程中我們通常會用到第三方提供的源代碼,麻煩的是有些開源項目用的是 ARC,有的用的是非 ARC。
我在使用 SVProgressHUD 做等待視圖時遇到問題,最終發現該項目使用的是 ARC 模式,而我的工程使用的是非 ARC 模式。
怎麼辦呢?
【解決方案】
Xcode 項目中我們可以使用 ARC 和非 ARC 的混合模式。
如果你的項目使用的非 ARC 模式,則爲 ARC 模式的代碼文件加入 -fobjc-arc 標籤。
如果你的項目使用的是 ARC 模式,則爲非 ARC 模式的代碼文件加入 -fno-objc-arc 標籤。
添加標籤的方法:
打開:你的target -> Build Phases -> Compile Sources.
雙擊對應的 *.m 文件
在彈出窗口中輸入上面提到的標籤 -fobjc-arc / -fno-objc-arc
點擊 done 保存