FROM : Andrew Merenbach
DATE : Tue Aug 29 17:57:04 2006
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_removed>)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/andrew.merenbach%
> 40ucla.edu
>
> This email sent to andrew.<email_removed>
DATE : Tue Aug 29 17:57:04 2006
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_removed>)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/andrew.merenbach%
> 40ucla.edu
>
> This email sent to andrew.<email_removed>
| Related mails | Author | Date |
|---|---|---|
| Andrew Merenbach | Aug 29, 16:53 | |
| Shawn Erickson | Aug 29, 17:15 | |
| Ricky Sharp | Aug 29, 17:18 | |
| Alberto Ricart | Aug 29, 17:51 | |
| Andrew Merenbach | Aug 29, 17:57 | |
| Shawn Erickson | Aug 29, 18:08 | |
| Sean Murphy | Aug 29, 18:10 |






Cocoa mail archive

