Методы *WithCapacity
, которые мы видим на NSString
, NSArray
и т. Д., Не имеют ничего общего с предварительным заполнением содержимого объекта.Это просто средство, с помощью которого вы можете предложить объекту, сколько он будет держать.Если вы предложите достаточно большое число, он может использовать другой механизм хранения, чем если бы это было небольшое число.
Другими словами, вы можете сделать [NSMutableString stringWithCapacity:1234567890]
, и это даст вам точно такую же вещь, как если бывы просто сделали [NSMutableString string]
, и -length
результирующего объекта будет всегда равным 0.
Честно говоря, методы *WithCapacity
довольно бесполезны.Я никогда не нашел причину их использования.