程序不进入循环(比较两个字符串值)

时间:2012-02-25 17:47:13

标签: iphone python objective-c xcode

我面临一个奇怪的问题我只是比较两个字符串值并做一些事情,如果它匹配..我已经创建了一个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

有人可以告诉我出了什么问题。谢谢

3 个答案:

答案 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");