我面临一个奇怪的问题我只是比较两个字符串值并做一些事情,如果它匹配..我已经创建了一个Python脚本服务器,从中我得到一个值,另一个值是本地字符串变量。我可以从服务器上检索正确的值但是在比较它时不会进入循环..
这是我客户端的代码,用于比较值
-(void)messageReceived:(NSString *)message {
[_messages addObject:message];
NSLog(@"the received message is %@",message);
if (message == @"1")
NSLog(@"the user is online");
else if (message == @"0") {
UIAlertView *alert;
alert = [[UIAlertView alloc]initWithTitle:@"Message" message:@"The selected user is not online !" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles: nil];
[alert show];
}
}
这是一个日志,我会显示正确的值
2012-02-25 21:44:35.376 iMessenger [2001:207]服务器说:1 2012-02-25 21:44:35.377 iMessenger [2001:207]收到的消息是1
有人可以告诉我出了什么问题。谢谢
答案 0 :(得分:4)
不要使用==来比较字符串。请改用[message isEqualToString:@"1"]
。
答案 1 :(得分:0)
使用 isEqualToString 来比较NSString值:
if ([message isEqualToString:@"1"])
NSLog(@"the user is online");
....
答案 2 :(得分:0)
您可以使用caseInsensitiveCompare
if([message caseInsensitiveCompare:@"1"])
NSLog(@"the user is online");