2011-09-09 8 views
1

は、私は次のよう...一度に「シングルトン」プロパティを保持しますか?

@property (nonatomic, retain) NSString *phoneNumber; 

として私propertyを宣言したい。しかし、私はまた、このような(私は手動で入力するすべての数字を望んでいない)として、デバッグ時に、それを初期値を割り当てます.. 。

self.phoneNumber = @"123"; 

私は私が書いてきたように行う場合、私は、さらにどこかでこのpropertyを保持しなければなりません。誰かがこれを達成するのを手伝ってもらえますか?

+0

だけで値を設定するプロパティを使用することができませんか? –

+0

あなたの問題がわかりません。あなたの意見では、あなたがself.phoneNumber = @ "123"をしたときに何がうまくいかないでしょうか? – fishinear

+0

ごめんなさい。電話番号が正しいです。しかし、問題は、@ "123"(またはそれに類似した値)を使用して、次にプロパティがシングルトンとして機能する場合です。保持カウントは、初期化前には常に0、その後は1です。例えば、私はretainCount == 2を作ることができません。 – Gargo

答えて

-1

deallocの方法releaseには、属性がretainのすべてのプロパティがあります。あなたはself.表記を経由して、あなたのオブジェクトにassigningnil値でそれを行うことができます。

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

    [super dealloc]; 
} 
+1

初期化子とdeallocで 'self.'を使うのは良い考えではありません。また、あなたは '[super dealloc]'への呼び出しを逃しました。 – Abizern

+1

'self 'の使用に問題はありません。 '[super dealloc]'が追加されました – Nekto

+0

猫は私を理解していません。私は1つの関数でコードを変更したい。ですから、私はまだプリプロセッサ#if 1 ... #else ... #endifを使うか、1つのブロックにコメントをつけ、/ * ... // * /を使って別のコメントをつけることで解決することができます。 – Gargo

関連する問題