2011-09-09 40 views
1

我要聲明我property爲以下...保留和一個「單身」屬性?

@property (nonatomic, retain) NSString *phoneNumber; 

但我也想調試等(我不想輸入所有手動號碼)期間分配了初始值.. 。

self.phoneNumber = @"123"; 

如果我這樣做,因爲我已經寫了,我必須另外某個地方保留這個property。有人可以幫我實現這一點。

+0

不能只使用要設置的屬性值呢? – 2011-09-09 07:46:39

+0

不知道你的問題是什麼。在你看來,當你做self.phoneNumber = @「123」時會出現什麼問題? – fishinear

+0

對不起self.phoneNumber是正確的。但問題是,如果我使用@「123」(或類似的值),那麼我的屬性作爲一個單身人士:它的保留計數始終爲0,然後是1。例如,我不能使retainCount == 2 – Gargo

回答

-1

您應該在dealloc方法release屬性爲retain的所有屬性。您可以通過assigningnil價值,你的對象通過self.符號做到這一點:

- (void)dealloc 
{ 
    self.phoneNumber = nil; 

    [super dealloc]; 
} 
+1

在initialisers和dealloc中使用'self.'並不是一個好主意。另外,你錯過了對'[super dealloc]'的調用。 – Abizern

+1

使用'self.'時看不到任何問題。 '[超級dealloc]'加入 – Nekto

+0

Nekto還沒有理解我。我只想在一個函數中更改代碼。所以我仍然只有一個解決方案 - 使用預處理程序#if 1 ... #else ... #endif或註釋一個塊並取消註釋另一個通過使用/ * ... // * /幾乎相同的東西 – Gargo