2012-12-20 96 views
7

據我所知,我知道我們使用-fno-objc-arc標誌來禁用ARC項目中不支持ARC的文件。如何將ARC項目轉換爲非ARC?

而且我們還可以使用-fobjc-arc標誌在非ARC項目中啓用ARC以支持ARC。

但是,如果我想將我的ARC項目(不是特定文件)轉換爲非ARC項目,那麼我應該如何繼續前進?

任何人都請簡要介紹一下。

在此先感謝。

回答

4

您必須在適當的位置插入手動內存管理方法調用。在一般情況下,每newallocretaincopymutableCopy呼叫應當由releaseautorelease(後者主要用於返回值的情況下)進行平衡,所以,例如,下面的啓用ARC-代碼:

MyClass *myObj = [[MyClass alloc] init]; 
[myObj doStuff]; 

OtherClass *otherObj = [[OtherClass alloc] init]; 
return otherObj; 

應該是這樣的MRC下:

MyClass *myObj = [[MyClass alloc] init]; 
[myObj doStuff]; 
[myObj release]; 

OtherClass *otherObj = [[OtherClass alloc] init]; 
return [otherObj autorelease]; 

更多關於內存管理的official documentation

+0

downvote的任何理由? – 2012-12-20 06:32:18

+0

我沒有讓你失望,但我想他們問的是將項目設置從ARC啓用改爲ARC禁用,而不是關於轉換特定文件。 –

+0

@JackHumphries謝謝,我看到了 - 但在這種情況下的確假設了一個特定的IDE(Xcode),而這個問題中沒有提到。 – 2012-12-20 06:37:04

18

您需要按照這個步驟

  1. 去你的項目目標 - 搜索 - Objective-C的自動 參考櫃檯

  2. 設置NO從YES

享受Progaramming !

+0

這是假設使用的Xcode。 – 2012-12-20 06:33:48

+0

是的,它是將ARC轉換爲NON-ARC的最短途徑,就像「如果我想將我的ARC項目(而不是特定文件)轉換爲非ARC項目」一樣,我應該如何繼續一樣?」 –

1

enter image description here

非常簡單的方式編輯 - >祕密 - >到Objective-C的ARC

相關問題