Hi, What is the difference b/w NSArray and NSMutableArray ? i am new to iPhone.
views:
2863answers:
2
                +10 
                A: 
                
                
              
            NSMutableArray (and all other classes with Mutable in the name) can be modified. So, if you create a plain NSArray, you cannot change its contents later (without recreating it). But if you create an NSMutableArray, you can change it — you'll notice it has methods like -addObject: and -insertObject:atIndex:.
See the documentation for details.
                  jtbandes
                   2009-08-28 05:51:25
                
              
                
                A: 
                
                
              The "mutable" types are classes which can be changed after they've been initialized, like NSMutableString vs NSString.
                  Shaggy Frog
                   2009-08-28 05:52:26
                
              `NSMutableString` is derived from `NSString`. Consequently, you can't rely on a "`NSString*`" you receive from outside to be immutable. You can only assume `NSMutableString*` is mutable. `NSString*` can be mutable or immutable. That's why you might want to call `[str copy]` when the instance is assigned to some property in your class.
                  Mehrdad Afshari
                   2009-08-28 05:55:40
                You can't change an NSString once it's built. See http://stackoverflow.com/questions/905396/the-final-word-on-nsstrings-mutable-and-immutable. As for why you use copy, see http://stackoverflow.com/questions/387959/nsstring-property-copy-or-retain
                  Shaggy Frog
                   2009-08-28 06:11:38
                Shaggy: You can't change an *instance* of `NSString` class. This is not the issue. The issue is that a "`NSString*`" does not necessarily point to an instance of `NSString` class. It can also point to instances of classes derived from `NSString`, like `NSMutableString`. Therefore, you can't rely on an `NSString*` you have received from the outside world to be immutable.
                  Mehrdad Afshari
                   2009-08-28 06:57:57
                Okay, I understand now. I'll delete that portion of my answer.
                  Shaggy Frog
                   2009-08-28 07:07:13