-2

我编写了一个代码,它将内容从字符串中分离出来,检查内容是否将引号作为第一个字符,然后将它们组合回两个字符串:一个以引号开头,一个不以引号开头。我有以下代码,但是当我运行它时,它似乎没有检测到引号。

NSArray *detailTextLabelContentArray = [[NSArray alloc] initWithObjects:@"Some",@"Good",@"Stuff",@"\"Lazy\"", nil];
for (NSInteger index = 0; [detailTextLabelContentArray count] > index; index++)
{
    if ([[detailTextLabelContentArray objectAtIndex:index] substringToIndex:1] != @"\"")
    {
        if (index == 0)
        {
            detailTextLabelContent = [[detailTextLabelContentArray objectAtIndex:index] substringToIndex:1];
        }
        else
        {
            detailTextLabelContent = [NSString stringWithFormat:@"%@; %@",detailTextLabelContent,detailTextLabelContent = [[detailTextLabelContentArray objectAtIndex:index] substringToIndex:1]];
        }
    }
}
NSLog(detailTextLabelContent);

我在这里做错了吗?

4

2 回答 2

4

不要使用!=或任何其他相等运算符来比较NSStrings。改用-[NSString isEqualToString:]

![[[detailTextLabelContentArray objectAtIndex:index] substringToIndex:1] isEqualToString:@"\""]

相等运算符只比较指针相等,不比较对象相等。

于 2013-01-05T06:00:13.727 回答
1
 NSString *str=@"\"hello";
 NSRange range={0,1};
[[str substringWithRange:range] isEqualToString:@"\""];
于 2013-01-05T06:17:36.010 回答