我要做的是从RSS源获取项目并根据其类型将它们存储在数组中。但问题是,当我比较字符串以分隔项目时,我检查过没有任何事情,字符串完全相同,但它表示它们不相等。
- (void)parserDidEndDocument:(NSXMLParser *)parser {
if (eventsList != nil) {
for (int i = 0; i<[eventsList count]; i++) {
NSMutableString* str = [[eventsList objectAtIndex:i] objectForKey:@"category"];
if ([str isEqualToString:@"normal"]) {
normalEvents = [[NSMutableArray alloc] init];
[normalEvents addObject:eventsList];
} else if ([str isEqualToString:@"sub"]) {
subEvents = [[NSMutableArray alloc] init];
[subEvents addObject:eventsList];
} else if ([str isEqualToString:@"main"]) {
NSLog(@"salve mundi");
mainEvents = [[NSMutableArray alloc] init];
[mainEvents addObject:eventsList];
} else {
NSLog(@"%@",str);
}
}
}
}
答案 0 :(得分:4)
使用==
比较对象的地址。要比较两个NSStrings的内容,您必须使用实例方法[str isEqualToString:@"sub"]
。
答案 1 :(得分:2)
我会做一些测试以确保字符串相等。例如,如果它在结尾或开头有空格,如果它是大写的等等。
[[yourString lowercaseString] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]
答案 2 :(得分:1)
if([str isEqualToString:@"normal"])