2 starwar2012 starwar2012 于 2013.01.04 10:58 提问

NSString isEqualToString问题

现在正在开发一个应用,用到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

其实他们是一样的,不知道代码哪不对。

1个回答

prettYYoyic
prettYYoyic   2013.01.04 15:20

根据你的日志,字符串不相等:

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");
   }
}
Csdn user default icon
上传中...
上传图片
插入图片