[iPhone SDK] @property (nonatomic, retain) の挙動
iPhoneがガーベッジコレクションに対応してくれれば,こんなことしなくていいのだが・・・.@property (nonatomic, retain)の挙動を調べてみた.
@property (nonatomic, retain)は,新しく外部からオブジェクトをセットすると,古いオブジェクトには,releaseが渡される.
ただし,dealloc時に自動的にreleaseは投げられないので,dealloc時には,プロパティにreleaseを自前で投げる必要がある.
- (void) setHoge:(id)newValue { if( hoge_ != nil ) [hoge_ release]; hoge_ = newValue; }
セッターの内部はこんな挙動になってるはずだ.
@Psychsさん,色々教えていただき,ありがとうございました.