2012-01-06 78 views
0

這是關於在IOS 5中的ARC。關於使用保留,釋放ARC啓用代碼

假設它是ARC啓用,我仍然使用代碼保留釋放等,有沒有任何風險?還是會自動處理?

我知道ARC可以避免特定的文件。但在這種情況下,我沒有做任何事情去除這個文件上的ARC。這個文件現在是一個混合(一些分配釋放和一些分配沒有釋放)。

在這樣的環境中預期的風險是什麼? 感謝您的幫助!

--mia

回答

1

不能使用ARC retainrelease啓用代碼。這是不允許的 - 編譯器會報錯。如果您沒有向編譯器明確指示文件不應該在啓用ARC的情況下編譯(使用-fno-objc-arc標誌),並且您調用release,則代碼將無法編譯。

希望有幫助!

+0

哦,那是一個愚蠢的問題,然後:)。對不起。我實際上認爲我已經在示例項目中檢查了ARC。現在我在設置中重新檢查,它被禁用。不管怎樣,謝謝。 – mia 2012-01-06 11:54:13

0

假設已啓用ARC,我仍然使用保留的釋放等,在代碼

你不能。如果你這樣做,你會得到一個編譯器錯誤。

0

Mia,這實際上是不真實的。如果你使用Clang從命令行進行編譯,並告訴它使用帶有-fobjc-arc標誌的ARC,那麼你可以使用[object release]等等。它似乎是一個阻止使用這些內存管理調用的xCode事物。

然而,像LXT是在暗示,如果ARC是在Xcode項目啓用,除非您明確添加-fno-objc-arc的編譯器標誌爲需要在您的項目文件,你會能夠調用釋放/保留。