天天看點

iOS 開發,工程中混合使用 ARC 和非ARC

【前提知識】

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 儲存

參考:

<a target="_blank" href="http://code4app.com/ios/svprogresshud/4fc5c2496803faa60b000001">svprogresshud 下載下傳</a>

https://github.com/samvermette/svprogresshud/issues/84

繼續閱讀