Subject: Re: clarification regarding properties

On Fri, Mar 27, 2009 at 2:31 PM, WT <jrcapab@xxxxxxxxx> wrote:

> On Mar 27, 2009, at 6:34 PM, Quincey Morris wrote:
> The 'foo' in '' is a property. The 'foo' in 'just foo' is *not* a
>> property, but an instance variable. It's really important to know that the
>> two are entirely different things, even when they are named the same.
>> Whether the property foo even uses an instance variable foo is an
>> implementation detail of your class. A property *may* be implemented using
>> an instance variable for its storage requirements, and the instance variable
>> *may* have the same name as the property, but neither of those things are
>> requirements.
> I have trouble understanding the above. How can a property be implemented,
> if not by using an instance variable?

Any way you like. The property "foo" is nothing more than a pair of accessor
methods -foo and -setFoo:. Those methods can, and often do, manage an
instance variable of the same name, but that's not a requirement, just an
implementation detail. They could just as well use a differently-named
instance variable, or external storage such as a file or database. A
read-only property could even be calculated on demand, using no storage at


Cocoa programming in Perl:

Cocoa-dev mailing list (Cocoa-dev@xxxxxxxxxxxxxxx)

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

Help/Unsubscribe/Update your Subscription:

This email sent to maillists@xxxxxxxxx