使用isEqualToString比较NSString

时间:2011-08-11 16:37:03

标签: iphone objective-c ipad nsstring

请问,为什么isEqualToString不起作用?

- (void)viewDidLoad {
    [super viewDidLoad];

    extern NSString* globalpassword;

    if ([passwo.text isEqualToString: globalpassword]) {

        res = [[XMLTestViewController alloc] initWithNibName:@"XMLTestViewController" bundle:nil];
        res.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
        [self.view addSubview:res.view];
    } else {

        NSLog(@"faux");
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"chikos" 
                                                        message:@"Wrong Password" delegate:self cancelButtonTitle:@"Cancel"
                                              otherButtonTitles:@"OK", nil];

        [alert show];
        [alert release];
    }
}


the result is                                      
2011-08-11 17:56:36.543 XMLTest[6389:207] pol
2011-08-11 17:56:36.544 XMLTest[6389:207] pol
2011-08-11 17:56:36.544 XMLTest[6389:207] faux

2 个答案:

答案 0 :(得分:2)

看看你的NSLog系列;它应该是这样的:

NSLog(@"hi all freind");

(注意@符号!)


编辑这一定意味着您忽略了编译器警告!他们在那里是有原因的;在这种情况下,告诉您将错误的参数传递给NSLog。

我打赌你也会在NSLog(cc)NSLog(bb)行收到警告?

答案 1 :(得分:2)

字符串不同。尝试记录bb和cc,如下所示:

NSLog(@"bb: '%@', cc: '%@'", bb, cc);

使用单引号,您可以查看bb或cc中是否存在意外的空格。