2012-09-24 50 views
1

當我運行Xcode 4.5時,默認情況下它與ARC Off stage.But當我們創建Xcode項目 強屬性來代替保留。沒有ARC的Xcode強大的財產?

1)如果強與弱與ARC有關,爲什麼它會進入non-Arc項目?

2)如果強和保留都相同,如果我在更早的 xcode versons中將關鍵字retain更改爲non-Arc項目,它會正常工作嗎?

回答

3

是,strong只是一個不使用ARC時retain代名詞 - 它包含在非ARC項目在默認情況下,儘量減少ARC和非ARC之間進行轉換時所需的更改,因爲retain不ARC但工作strong適用於兩種項目類型。

此外,是的,如果您將其更改爲retain,那不會破壞您的代碼。

+0

我應該在dealloc中釋放強屬性作爲retain屬性嗎? –

+1

@mirdad是的。更確切地說,您應該將其設置爲零或釋放支持ivar。不要直接發佈屬性。 – 2012-09-24 14:08:18

0

除H2CO3答案:xCode不會警告你這種情況。事實上,如果您從ARC實施的項目中添加此類,請記住在協議實施的情況下實施-(void)dealloc()方法並釋放委託。