我見過很多關於將整個項目轉換爲弧然後使用標誌告訴Xcode哪些不能轉換的信息。將單個文件轉換爲弧形?
如何將單個文件轉換爲arc?我試過了,運行良好。我可以這樣做嗎?我有點擔心,因爲如果我在這裏和那裏轉換東西,整個項目不會轉換爲弧,它們會導致內存泄漏。
我見過很多關於將整個項目轉換爲弧然後使用標誌告訴Xcode哪些不能轉換的信息。將單個文件轉換爲弧形?
如何將單個文件轉換爲arc?我試過了,運行良好。我可以這樣做嗎?我有點擔心,因爲如果我在這裏和那裏轉換東西,整個項目不會轉換爲弧,它們會導致內存泄漏。
是的,你可以。但是,您需要告訴編譯器哪些文件不是ARC。這可以在您的項目設置中執行。去your project
>Select the target of the app in question
>Build Phases
。現在拖放「Compile Sources」並選擇你不想用ARC編譯的文件,按下ENTER鍵,會出現一個小小的彈出框。在這裏你可以寫-fno-objc-arc
。按Done
即可完成。
編譯時,它會嘗試將自動引用計數添加到沒有-fno-objc-arc
標誌的文件。使用非弧庫時非常有用,例如ASIHTTPRequest或MBProgressHud(及其他)。
說句只有某些文件ARC使用標誌:
-fobjc-arc
你怎麼知道它正試圖使用ARC的其他文件?它似乎記得它已將哪些文件轉換爲ARC,以及哪些文件沒有。 –
如果你使用幾個不能使用ARC的庫,該怎麼辦?有很多文件需要更改,您是否必須爲所有文件分別設置標誌,還是有更好的方法? –
它是一個設置爲編譯器的標誌,名稱爲Objective-C自動引用計數。 –