這是關於在IOS 5中的ARC。關於使用保留,釋放ARC啓用代碼
假設它是ARC啓用,我仍然使用代碼保留釋放等,有沒有任何風險?還是會自動處理?
我知道ARC可以避免特定的文件。但在這種情況下,我沒有做任何事情去除這個文件上的ARC。這個文件現在是一個混合(一些分配釋放和一些分配沒有釋放)。
在這樣的環境中預期的風險是什麼? 感謝您的幫助!
--mia
這是關於在IOS 5中的ARC。關於使用保留,釋放ARC啓用代碼
假設它是ARC啓用,我仍然使用代碼保留釋放等,有沒有任何風險?還是會自動處理?
我知道ARC可以避免特定的文件。但在這種情況下,我沒有做任何事情去除這個文件上的ARC。這個文件現在是一個混合(一些分配釋放和一些分配沒有釋放)。
在這樣的環境中預期的風險是什麼? 感謝您的幫助!
--mia
不能使用ARC retain
或release
啓用代碼。這是不允許的 - 編譯器會報錯。如果您沒有向編譯器明確指示文件不應該在啓用ARC的情況下編譯(使用-fno-objc-arc
標誌),並且您調用release
,則代碼將無法編譯。
希望有幫助!
假設已啓用ARC,我仍然使用保留的釋放等,在代碼
你不能。如果你這樣做,你會得到一個編譯器錯誤。
Mia,這實際上是不真實的。如果你使用Clang從命令行進行編譯,並告訴它使用帶有-fobjc-arc
標誌的ARC,那麼你可以使用[object release]等等。它似乎是一個阻止使用這些內存管理調用的xCode事物。
然而,像LXT是在暗示,如果ARC是在Xcode項目啓用,除非您明確添加-fno-objc-arc
的編譯器標誌爲需要在您的項目文件,你會不能夠調用釋放/保留。
哦,那是一個愚蠢的問題,然後:)。對不起。我實際上認爲我已經在示例項目中檢查了ARC。現在我在設置中重新檢查,它被禁用。不管怎樣,謝謝。 – mia 2012-01-06 11:54:13