我正在创建一个应用程序,并尝试使用isEqualToString来比较我知道的字符串是相同的。但是,此代码无效
- (void)uui {
array2 = [NSMutableArray arrayWithContentsOfFile:Path2];
string = [NSString stringWithFormat:@"%@", [array2 objectAtIndex:3]];
NSString *string2 = [NSString stringWithFormat:@"Partly Cloudy"];
NSLog(@"%@ , %@", string, string2);
if ([string isEqualToString:string2]) {
NSLog(@"frack");
}
}
这是我在日志中得到的内容
2013-01-02 23:13:27.512 My Sky[3788:907] Partly Cloudy , Partly Cloudy
如您所见,它们是相同的。我在这里做错了什么?
答案 0 :(得分:10)
没有字符串不相等。 从您的日志中:
Partly Cloudy , Partly Cloudy
第一个字符串后面有一个额外的空格。 请检查此代码:
- (void)uui
{
array2 = [NSMutableArray arrayWithContentsOfFile:Path2];
string = (NSString *)[array2 objectAtIndex:3];
NSString *string2 = @"Partly Cloudy";
NSString *trimmedString = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"%@ , %@", trimmedString, string2);
if ([trimmedString isEqualToString:string2])
{
NSLog(@"frack");
}
}