據我所知,我知道我們使用-fno-objc-arc
標誌來禁用ARC項目中不支持ARC的文件。如何將ARC項目轉換爲非ARC?
而且我們還可以使用-fobjc-arc
標誌在非ARC項目中啓用ARC以支持ARC。
但是,如果我想將我的ARC項目(不是特定文件)轉換爲非ARC項目,那麼我應該如何繼續前進?
任何人都請簡要介紹一下。
在此先感謝。
據我所知,我知道我們使用-fno-objc-arc
標誌來禁用ARC項目中不支持ARC的文件。如何將ARC項目轉換爲非ARC?
而且我們還可以使用-fobjc-arc
標誌在非ARC項目中啓用ARC以支持ARC。
但是,如果我想將我的ARC項目(不是特定文件)轉換爲非ARC項目,那麼我應該如何繼續前進?
任何人都請簡要介紹一下。
在此先感謝。
您必須在適當的位置插入手動內存管理方法調用。在一般情況下,每new
,alloc
,retain
,copy
和mutableCopy
呼叫應當由release
或autorelease
(後者主要用於返回值的情況下)進行平衡,所以,例如,下面的啓用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。
您需要按照這個步驟
去你的項目目標 - 搜索 - Objective-C的自動 參考櫃檯
設置NO
從YES
享受Progaramming !
這是假設使用的Xcode。 – 2012-12-20 06:33:48
是的,它是將ARC轉換爲NON-ARC的最短途徑,就像「如果我想將我的ARC項目(而不是特定文件)轉換爲非ARC項目」一樣,我應該如何繼續一樣?」 –
downvote的任何理由? – 2012-12-20 06:32:18
我沒有讓你失望,但我想他們問的是將項目設置從ARC啓用改爲ARC禁用,而不是關於轉換特定文件。 –
@JackHumphries謝謝,我看到了 - 但在這種情況下的確假設了一個特定的IDE(Xcode),而這個問題中沒有提到。 – 2012-12-20 06:37:04