По возможности используйте неизменяемые объекты из-за снижения производительности изменяемых объектов.
Edit: Ну, как правило, вышеприведенное должно быть верным, но, похоже, существуют ситуации, когда производительность NSMutableArrayна самом деле лучше, чем NSArray.Узнайте больше об этом на сайте Cocos2d :
Узнайте больше об изменчивости на CocoaWithLove (отличный блог для разработчиков Mac / iOS, поэтому поместите его в избранное!).
Я также хотел бы добавить, что многие объекты имеют экземплярный метод -mutableCopy , это простой в использовании метод для извлечения изменяемой копии из неизменяемых объектов,как NSArray или NSString, например:
NSArray *array = [NSArray arrayWithObjects:@"apple", @"pear", @"lemon"];
NSMutableArray *mutableArray = [array mutableCopy];
// remember to release the mutableArray at some point
// because we've created a copy ...
Просто помните, что в некоторых ситуациях изменяемый объект проще использовать, например, для UITableView, который использует источник данных, который подвергается множеству изменений по сравнению свремя.