Hi Stuart,

I'm still something of a neophyte, but a theme I've found in threads here is
that consistent use of accessors tends to save memory management headaches
if you're not using garbage collection. If you use @property and @synthesize
to generate your accessors, and then use them to both initialize ( [self
setIvar:[[MyObj alloc] init] ) and release ( [self setIvar:nil] ) your
ivars, you bypass most common memory management problems. If you want to add
custom behavior, be sure to write them according to these guidelines to keep
this benefit:

http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmAccessorMethods.html

Essentially, accessors let you put the majority of your memory management
code in one place, rather than forcing you to pay attention to it in every
method that uses your ivars.

The more abstract benefit of using accessors is that your code becomes
easier to maintain and update. If you decide you want to store an ivar
differently, you can just change its accessors, rather than changing every
method that directly accesses it.

Of course, accessors are not a magic bullet for either of these issues, they
just help in many ways you might not anticipate.

Cheers, and HTH,
Adam

On Fri, Jan 9, 2009 at 12:27 AM, Stuart Malin <stu...@zhameesha.com> wrote:

> I have a class with ivars for which there are accessors. I understand that
> the importance of using a setter method (or to use setValue:ForKey:) to set
> the ivar so that KVO operates. However, Is there a compelling reason to use,
> in the methods of a class, a getter method (or valueForKey:) versus directly
> accessing an ivar of the class?
>
> I have re-read both the Key-Value Observing Programming Guide and Key-Value
> Coding Programming Guide, and have not derived guidance from them on this
> question. Perhaps I have missed something.
> _______________________________________________
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/acfoltzer%40gmail.com
>
> This email sent to acfolt...@gmail.com
>
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to