On Oct 3, 2011, at 2:23 PM, Charles Srstka wrote:
> 2. KVO’s “access instance variables directly” (mis)feature recognizes the 
> underscore prefix. I like to give it a prefix that KVO doesn’t know about so 
> that I can be sure never to end up accidentally accessing the ivars of 
> another object without going through the proper accessors.

Ooh, hadn't thought of that.

Maybe now's the time to start using spiffy compiler features like synthesized 
ivars, and to stop declaring ivars at all.

On Oct 7, 2011, at 1:21 PM, Glenn L. Austin wrote:
> The proper way (today) to mark an ivar as private is to use @private.  Go 
> ahead and use a leading underscore, but don't be surprised if sometime in the 
> future you are debugging a strange compile-time error. (I've been 'bit' by 
> this a few times in my development).

The reason I use an underscore for ivars has nothing to do with it marking it 
private (which I do anyway with @private). It's to be able to spot them more 
easily in my implementation code. If I get a compile-time error I can always 
rename the ivar.

More dangerous is runtime errors due to a pseudo-private *method* name that you 
didn't realize overrides a method in a superclass. I confess I use the 
underscore prefix for "private" methods, but my private methods tend to be 
pretty non-generic.

--Andy

_______________________________________________

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