新的空NSString包含哪些字符?

时间:2011-03-14 06:59:39

标签: objective-c nsstring

我使用方法stringWithCapacity:5创建了一个NSMutableString 如何测试characterAtIndex:0是否为空

2 个答案:

答案 0 :(得分:3)

空字符串不包含任何字符,即使您使用非零容量创建它也是如此。要检查字符串是否为空,只需检查其长度:

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

此外,尝试访问索引时字符长度为> =将导致NSRangeException异常。

答案 1 :(得分:1)

我们在*WithCapacityNSString等上看到的NSArray方法与预先填充对象的内容无关。它们只是一种方法,您可以通过它向对象建议它将保持多少。如果你建议一个足够大的数字,它可能使用不同的存储机制,而不是一个小数字。

换句话说,您可以执行[NSMutableString stringWithCapacity:1234567890],它会给您完全相同的事情,就像您完成[NSMutableString string]一样,并且生成的对象的-length总是为0。

坦率地说,*WithCapacity方法毫无用处。我从未找到使用它们的理由。