On Apr 26, 2011, at 8:28 PM, Guy Steven wrote: > I am currently learning objective c and cocoa > > I believe I understand the difference between properties and instance > variables, and the effect of using properties as opposed to instance > variables viz a viz KVO and memory management.
A property is really get and/or set methods, so... > What I can't understand is why you would access instance variables directly > within a class. My quess is speed. Is there any other reason? ...a property may or may not simply do a "return foo;" or "foo = value;" as its behavior. It may, for example, lazily create an object when called or it may have some other side effects that are required when accessed by a caller; those same requirements might not be needed or desired when using the ivar from within the class. > And related to this, why give instance variables a name different to the > name of the property. You might want to name an instance variable _foo or mFoo, etc., to distinguish it from a local variable or parameter. (And that would be personal style.) > Again, I suspect it may be a matter of style, but would like to know if > there are cases where it is a necessity. I believe it's only necessary if you want to do a straight "@synthesize foo;", which would expect the instance variable to have the same name as the property. _______________________________________________ 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