我使用方法stringWithCapacity:5创建了一个NSMutableString 如何测试characterAtIndex:0是否为空
答案 0 :(得分:3)
空字符串不包含任何字符,即使您使用非零容量创建它也是如此。要检查字符串是否为空,只需检查其长度:
if ([myString length] == 0){
// empty
}
此外,尝试访问索引时字符长度为> =将导致NSRangeException
异常。
答案 1 :(得分:1)
我们在*WithCapacity
,NSString
等上看到的NSArray
方法与预先填充对象的内容无关。它们只是一种方法,您可以通过它向对象建议它将保持多少。如果你建议一个足够大的数字,它可能使用不同的存储机制,而不是一个小数字。
换句话说,您可以执行[NSMutableString stringWithCapacity:1234567890]
,它会给您完全相同的事情,就像您完成[NSMutableString string]
一样,并且生成的对象的-length
将总是为0。
坦率地说,*WithCapacity
方法毫无用处。我从未找到使用它们的理由。