iOS 開發,混合使用 ARC 和非ARC

2022-07-31 17:54:20 字數 674 閱讀 6125

【前提知識】

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

參考:

IOS混合使用ARC

在專案開發過程中我們通常會用到第三方提供的源 麻煩的是有些開源專案用的是 arc,有的用的是非 arc。我在使用 svprogresshud 做等待檢視時遇到問題,最終發現該專案使用的是 arc 模式,而我的工程使用的是非 arc 模式。解決方法是這樣的 xcode 專案中我們可以使用 arc 和非...

原 iOS學習之ARC和非ARC檔案混編

在程式設計過程中,我們會用到很多各種各樣的他人封裝的第三方 但是有很多第三方都是在非arc情況下執行的,當你使用第三方編譯時出現和下圖類似的錯誤,就說明該第三方是非arc的,需要進行一些配置。解決方法 蘋果文件transitioning to arc release notes有一種解決辦法為 us...

iOS開發是否應該使用ARC?

和身邊做ios開發的同事組建了乙個qq群,每隔一段時間,大家就會討論是否應該使用arc。所以我覺得有必要將這些討論分享出來,讓大家消除對於arc的疑慮。關於arc的介紹文章網上已經很多,蘋果的官方文件也不少。擔心使用arc會帶來問題的同學主要的理由有以下5點 1.擔心這個技術方案不靠譜。蘋果大多數時...