Re: Keys of the kingdom
Re: Keys of the kingdom
- Subject: Re: Keys of the kingdom
- From: Shawn Erickson <email@hidden>
- Date: Sat, 22 Apr 2006 16:32:09 -0700
On Apr 22, 2006, at 3:58 PM, Ryan Britton wrote:
const NSString *MSFileBackupDate = @"MSFileBackupDate";
The above says that "MSFileBackupDate" is a pointer to a constant
NSString instance. The problem with this definition is that the
'MSFileBackupDate" variable (the pointer) can be modified and hence
the object it points at could be changed. Normally you don't want
your keys to be changeable.
So it you should do one of the following...
1) NSString* const MSFileBackupDate = @"MSFileBackupDate";
2) const NSString* const MSFileBackupDate = @"MSFileBackupDate";
In (1) you have a immutable pointer to an NSString instance and in
(2) you have a immutable pointer to an immutable NSString instance.
The second option is generally redundant since NSString is by
definition immutable and since the NSString object is instantiated
using @"some string" you have a special variant of NSString that not
only is immutable but is also constant (not possible for it to be
deallocated, currently they are instances of CFConstantString IIRC).
-Shawn
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden