On 28 May, 2013, at 9:39 PM, Alex Zavatone <z...@mac.com> wrote: > Though it's clearly defined in the docs when to use NSMubleAnything vs. > NSAnything (insert Array, Dictionary, String, etc for Anything), there is no > compiler warning when you perform a simple action such as allocate a string > and then reassign values to it. > > With this in mind, what exactly constitutes a mutable action? > > If we take this: > > NSString *myString; > myString = @"Hi"; > myString = @"Hi there"; > > I'm clearly expecting some type of warning from the compiler when myString is > redefined, but I don't see one in Xcode 4.6.1. Is this redefinition not a > mutable action? It sure seems like it is.
myString is a pointer to an NSString (or subclass thereof). It's not const, it's not static so the pointer can point to any NSString (or subclass thereof) and be reassigned at will. There is a huge difference between an NSString, which cannot be mutated and a pointer to an NSString which can. This is pretty basic. _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com