次のコードを参照してください。
- (void) setSomeThing:(NSString *) someThingNew
{
if(someThing!=someThingNew)
{
[someThingNew retain];
[someThing release];
someThing = someThingNew;
}
}
... ...
- (void) dealloc
{
[someThing release];
[super dealloc];
}
@end
setter のパラメータはsomeThingNew
setterretain
メソッドにありました。つまり、その保持カウントは 1 です。
ここで質問:someThingNew
すべきrelease
ですか?
それとも同じオブジェクトを指しsomeThing
ているからで、メソッド内でそう指しているのですか?someThingNew
dealloc
someThing
release
someThingNew
nil