1

我正在创建一些代码,它将在字符之间找到一个空格,并使用空格之前的字符和空格之后的字符。这些字符存储在一个 NSString 中。这是我到目前为止所拥有的,但是,它没有看到空字符。

    NSString *tempTitle = self.title;
unsigned int indexOfSpace; // Holds the index of the character with the space
unsigned int titleLength = (unsigned int)self.title.length; // Holds the length of the title
for (unsigned int count = 0; count < titleLength; count++)
{
    if ([tempTitle characterAtIndex:count] == "") // If the character at the index is blank, store this and stop
    {
        indexOfSpace == count;
    }
    else // Else, we keep on rollin'
    {
        NSLog(@"We're on character: %c", [tempTitle characterAtIndex:count]);
    }
}

我试过了nil,空字符串(“”)和“”但无济于事。有任何想法吗?

4

1 回答 1

4

你的空格字符应该用单引号,而不是双引号。单引号为您提供 C 中的 char 类型。(双引号创建一个字符串文字,它本质上用作 achar *并且永远不会通过您的比较。)

-[NSString characterAtIndex:]返回一个 type unichar,它是一个unsigned short,所以你应该能够直接将它与一个空格字符进行比较' ',如果这是你想要做的。

请注意,nil 和空字符串在这里没有用——实际上也不是字符,在任何情况下,您的字符串都不会“包含”这些。

您还应该看到直接在字符串中查找字符的 NSString 方法,例如-[NSString rangeOfString:]及其表亲。这会阻止您自己编写循环,尽管不幸的是这些在语法上有点冗长。

于 2010-02-01T02:06:56.863 回答