字符串比较失败

时间:2014-04-08 18:10:14

标签: ios string

我是Ios开发的初学者,我试图比较两个正常相等的字符串,但每次比较失败并转到其他地方:

NSString *response = [session.channel execute:@"gpio read 0" error:&error];//execute SSH command and write this one in log

NSLog(response);
if ([response isEqualToString:(@"1")]) {
    [session.channel execute:@"gpio write 0 0" error:&error];
} else {
    [session.channel execute:@"gpio write 0 1" error:&error];
}

这是我的输出,响应等于1,但不使用if:

  

2014-04-08 20:01:38.065 domotiqueRPI [36948:1303] NMSSH:执行命令gpio读0

     

2014-04-08 20:01:38.108 domotiqueRPI [36948:60b] 1

     

2014-04-08 20:01:38.109 domotiqueRPI [36948:1303] NMSSH:执行命令gpio写0 1

当然我在stackOverFlow上搜索,但它告诉我:is to use isEqualToString method

1 个答案:

答案 0 :(得分:3)

您在回复结束时有换行符。试试这个:

NSString *response = [session.channel execute:@"gpio read 0" error:&error];
response = [response stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

这将从响应字符串中删除尾随和前导空格/换行符。

BTW - @"1"周围的括号不需要。