Какие символы содержит новая пустая строка NSString? - PullRequest
0 голосов
/ 14 марта 2011

я создал NSMutableString с помощью метода stringWithCapacity: 5 Как мне проверить, если characterAtIndex: 0 пусто

Ответы [ 2 ]

3 голосов
/ 14 марта 2011

Пустая строка не содержит символов, даже если вы создали ее с ненулевой емкостью. Чтобы проверить, является ли строка пустой, просто проверьте ее длину:

if ([myString length] == 0){
    // empty
}

Более того, попытка получить доступ к символу с индексом>> длины строки приведет к NSRangeException исключению.

1 голос
/ 14 марта 2011

Методы *WithCapacity, которые мы видим на NSString, NSArray и т. Д., Не имеют ничего общего с предварительным заполнением содержимого объекта.Это просто средство, с помощью которого вы можете предложить объекту, сколько он будет держать.Если вы предложите достаточно большое число, он может использовать другой механизм хранения, чем если бы это было небольшое число.

Другими словами, вы можете сделать [NSMutableString stringWithCapacity:1234567890], и это даст вам точно такую ​​же вещь, как если бывы просто сделали [NSMutableString string], и -length результирующего объекта будет всегда равным 0.

Честно говоря, методы *WithCapacity довольно бесполезны.Я никогда не нашел причину их использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...