Usually when we want to initialize NSMutableArray
we use:
NSMutableArray *mArr = [[NSMutableArray alloc] initWithObjects: @\"one\", @\"two\", @\"thr
I usually use arrayWithArray.
NSMutableArray *foo = [NSMutableArray arrayWithArray:@[@"one", @"two", @"three"]];
But I think the second way to be way more readable
Personally, I find it more confusing, and even more confusing since you are using mutableCopy
as if it was a property. Correct, correct, but totally misleading IMHO.
Why not just take advantage of inheritance?
NSMutableArray *ma = [NSMutableArray arrayWithObjects:@"foo", @"bar", nil];
Sometimes collections which are mutable by default would be of more use. * sigh *
Yes, it's ok to initialize your mutable array that way, if you are willing (as you indicated) to pay the performance cost. ARC will clean everything up appropriately. It won't leak.