iOS項目兼容ARC和非ARC代碼

什么是ARC

在iOS5以后的版本中,都有ARC機制。ARC的全拼就是:Automatic Reference Counting,自動引用計數也就是內存自動回收的意思。在工程中使用ARC非常簡單:只需要像往常那樣編寫代碼,只不過不用寫retain,release和autorelease三個關鍵字,這是ARC的基本原則。當ARC開啟時,編譯器將自動在代碼合適的地方插入三個關鍵字,而作為開發者,完全不需要擔心編譯器會做錯。

1、項目整體更改機制

在項目創建的時候,可以選擇是否帶有ARC機制。如果創建完項目后,需要修改項目的ARC機制,可以通過以下方法。

點擊項目名稱,依次點開TARGETS-->Build Settings-->Apple LLVM 9.0 - Language - Objective C

然后會看到有Objective-C Automatic Reference Counting選項,通過選擇YES/NO來選擇是否支持ARC機制。如下圖所示。

項目是否支持ARC

2、ARC項目中某些文件不使用ARC機制

如果只想修改ARC項目中的不支持ARC機制的文件,例如從第三方庫引入的文件,可以通過修改對應文件是否支持ARC實現:

點擊項目名稱,依次點開TARGETS-->Build Phases-->Compile Sources

然后在Compiler Flags選項處修改需要禁止ARC機制的文件,雙擊并輸入-fno-objc-arc,如下圖所示。


ARC項目中文件指定不支持ARC

3、非ARC項目中某些文件使用ARC機制

同2步驟,輸入-fobjc-arc即可

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容