1. 程式人生 > >ARC MRC混編

ARC MRC混編

重點:

新增MRC標記(-fno-objc-arc)

新增ARC標記(-fobjc-arc)

第一種方式,Edit->Refactor,轉換成ARC方式

著名的iOS網路框架ASIHTTPRequest就是MRC,我們試試能不能轉換成ARC

點選Check,我們發現悲劇了

多數情況下這種方式都會出錯,那該怎麼辦呢?

第二種方式,給編譯器加標記

可以在Build Phases中的Compile Sources中加入編譯標記-fno-objc-arc,確實可行,但是檔案好多,這種方式適合檔案比較少的情況,檔案多了難道我們要一個一個加嘛,這時候我們可以藉助一個工具

xproj,這是一個指令碼,可以很方便的給某個資料夾內的檔案新增編譯標記,具體使用方法我們看專案主頁就行了,既可以給ARC專案新增MRC標記(-fno-objc-arc),也可以給MRC專案新增ARC標記(-fobjc-arc)

第三種方式,打包成靜態庫

將我們將要使用的類拖入工程當中

勾選正確的target

將原來的類檔案刪除,只留我們需要的,然後我們將整個專案變為MRC

新增標頭檔案

設定公共標頭檔案

執行程式,我們發現靜態庫已經產生

這種方式的缺點就是如果需要改原始碼,就需要重新打包

最後一種方式,專案引用

新建一個專案,改為非ARC,在另一個專案中引用這個專案

我們需要把專案B中的無關檔案刪除掉

最後一種方式,自己重寫成ARC方式