По моему опыту, это не технически лучше для целей управления памятью ЕСЛИ вы знаете, как правильно управлять памятью.Я предполагаю, что он предлагает это для новых разработчиков какао, потому что это по сути поможет им избежать некоторых ловушек, связанных с памятью.
Например, если у вас есть класс A, который имеет член NSString * myString ... тогда есливы создаете NSMutableString * mutable и устанавливаете A.myString = mutable .... автор класса A будет ожидать, что myString не изменится, но, поскольку он на самом деле изменяемый, он может.Поэтому он может предложить это, чтобы новые разработчики избегали попадания в ногу.
Это всего лишь предположение, хотя я не знаю ни одной причины, по которой неизменяемые объекты были бы более эффективными в плане памяти.