我已經下載了iOS 5 SDK,并發現ARC是新Apple編譯器的一項強大功能。目前,許多第三方框架不支持ARC。我可以使用ARC作為新代碼并保持當前的保留/發布代碼不變嗎?ARC轉換器在這里不起作用,因為某些框架(例如JSONKit)無法使用該轉換器轉換為ARC。編輯:答案是將-fno-objc-arc不需要ARC的文件添加到編譯器標志中。在Xcode 4中,您可以在目標->構建階段->編譯源代碼下執行此操作。
3 回答

UYOU
TA貢獻1878條經驗 獲得超4個贊
公開的ARC文檔雖然在這一點上尚不明確,但似乎建議,只要每個類都是全部ARC或所有手動管理的類,就可以將這些類集成到單個程序中。
您只能將ARC和非ARC混為一類。的文件說,發送retain,release,autorelease,或retainCount通過任何手段(包括計時器和延遲進行,其使用消息@selector)在ARC代碼禁止。因此,您不能在ARC類中執行非ARC(因為禁止了必要的消息),并且您不能在非ARC類中執行ARC(因為ARC添加了沒有ARC時無效的語法元素)。
關于是否可以將非ARC庫/框架集成到ARC程序中,同一文檔更加清晰:是。它沒有提到您是否可以在所有代碼都不為ARC的程序中使用ARC庫/框架,但是鑒于以上所有內容,其含義似乎是肯定的。

慕的地10843
TA貢獻1785條經驗 獲得超8個贊
如何禁用多個文件上的ARC并不是很直觀,一段時間以來,我一直一步一步地進行操作,直到弄清楚該如何做。
在Xcode的“目標/構建階段/編譯源”中選擇所需的文件(CMD +單擊或Shift +單擊)
按ENTER(雙擊將重置選擇,因此它不起作用)
輸入-fno-objc-arc
按Enter或完成
- 3 回答
- 0 關注
- 540 瀏覽
添加回答
舉報
0/150
提交
取消