Re: Accessor method styles
Re: Accessor method styles
- Subject: Re: Accessor method styles
- From: Andrew Merenbach <email@hidden>
- Date: Tue, 29 Aug 2006 08:57:04 -0700
Thanks to all who clarified for me. I now have a great deal more
insight into the standard accessor idioms.
Cheers,
Andrew
On Aug 29, 2006, at 7:53 AM, Andrew Merenbach wrote:
Hi, all. I've seen threads where this has been beaten to death,
but I am still left with major questions. I have seen several
kinds of accessor/mutator methods:
- (void)setFoo:(AMFoo *)aFoo {
[aFoo retain];
[myFoo release];
myFoo = aFoo;
}
- (void)setFoo:(AMFoo *)aFoo {
if (aFoo != myFoo) {
[myFoo release];
myFoo = [aFoo retain];
}
}
- (void)setFoo:(AMFoo *)aFoo {
id oldFoo = myFoo;
myFoo = [aFoo retain];
[oldFoo release];
}
- (void)setFoo:(AMFoo *)aFoo {
[myFoo autorelease];
myFoo = [aFoo retain];
}
My question is not precisely which is "better," as my understanding
is that they *all* (or at least the first two and the last one)
have their merits, speed considerations, etc.
What I want to know, as an intermediate Cocoa programmer--and what
I have been unable (at least with my own searching) to find on the
archives--is what are the *advantage* and *disadvantages* of each?
I know some basics, such as that the last one can apparently make
debugging in a crash situation rather difficult due to the -
autorelease call.
But what about number three, for instance? Is it better than
number two? Does Apple really recommend number one? Why?
Sorry to list moderators, administrators, and readers for a
question on what may be largely a matter of taste, but as I say,
I'm not as interested in opinions on which is *better* as I am in
becoming more experienced with descriptions of the merits and
possible problems encountered with each type of accessor.
Many thanks,
Andrew
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40ucla.edu
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden