プロパティにアクセスして変更したときにコードを起動したい。私は私のivarsのために私のコードで@property
と@synthesize
を使用します。プロパティは保持されているので、私はそのメモリ管理項目を自動的に@synthesize
によって生成しておきたいと思います。@synthesizeを使用する際にアクセサメソッドのカスタムカスタム実装を提供する方法はありますか?
しかし、私は@synthesize
がコードの右側にある@synthesize is
のほとんどの場合、アクセサメソッドのコードを生成するようにコンパイラに指示すると仮定します。
私がプロパティfoo
を持っているとき、私は-setFoo
と-foo
の方法を得ます。プロパティーが変更されたときにカスタムコードを実行するために、このようなメソッドを作成できますか?
-(void)setFoo {
// custom stuff
}
これは問題です。どのように最初のものを実行する?私はここで別の名前を持つことを嫌うだろう。 @synthesize
ディレクティブでgetterメソッドとsetterメソッドの他の名前を作成できるようにする方法がありますか?そして、私はまだそれにアクセスするためにドット構文を使用することができるでしょうか?
FYI、あなたのサンプルセッターにはバグがあります。同じオブジェクトで2回呼び出すと、そのオブジェクトが保持される前にそのオブジェクトが解放される可能性があります。本当に大きな問題ではありませんが、これらのことを正確に正しく行うことがいかに難しいかを示しています。 –
私はそれに従うかどうかわかりません。代わりにどのように書かれているかを説明することができますか(それは私があなたを信じていないというわけではありません。ありがとう:) – jbrennan
ああ、nvm私は問題を参照して、私は変更を反映するためにそれを更新します。 – jbrennan