Regular NSArray is Immutable , i,e whenever you create an NSArray object and initialize some values to that and later sometime in the project if u have to add some value or object to that instance of an array it won't let u do that.
NSArray *myArray = [NSArray arrayWithObjects: @"1", @"two", @"3", nil];
Here unlike the C-style Arrays you don't explicitly declare the size of an array, it will automatically does it until it hits nil.
The problem here is, sometime later if u want to add or remove object , you will not be able to do with the regular arrays. NSMutableArray which is the subclass of NSArray does this for you.
NSMutableArray *myArray = [NSArray arrayWithObjects: @"1", @"two", @"3", nil];
sometime later if you want to add a string or object to this array, there are methods in NSMutableArray which lets you to do this.
[myArray addObject: @"four"];
[myArray removeObjectAtIndex:2];
NSArray *myArray = [NSArray arrayWithObjects: @"1", @"two", @"3", nil];
Here unlike the C-style Arrays you don't explicitly declare the size of an array, it will automatically does it until it hits nil.
The problem here is, sometime later if u want to add or remove object , you will not be able to do with the regular arrays. NSMutableArray which is the subclass of NSArray does this for you.
NSMutableArray *myArray = [NSArray arrayWithObjects: @"1", @"two", @"3", nil];
sometime later if you want to add a string or object to this array, there are methods in NSMutableArray which lets you to do this.
[myArray addObject: @"four"];
[myArray removeObjectAtIndex:2];