1

今天对我来说充满了惊喜......下面的简单代码不起作用。即使 NSLog 显示 title 属性与 if 条件匹配,它也不会进入 if 语句中的块。我今天要疯了......

-(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"%@", alertView.title);

if (alertView.title == @"Warehouse") {
//.... never get in here even though NSLog above returns "Warehouse"

编辑:我想通了。在这里回答这个问题,以防它帮助其他人。

显然,iOS 6 在比较字符串或其他东西方面更加严格。== 在 iOS 5 中可以正常工作,但在 iOS 6 中我不得不使用

if ([alertView.title isEqualToString:@"Warehouse"]) {

然后它工作正常。

4

1 回答 1

0

你做得对,但有一个小问题 - 正确的代码将是 -

 -(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:  
  (NSInteger)buttonIndex
    {
        NSLog(@"%@", alertView.title);

       if ([alertView.title isEqualToString:@"Warehouse"])

        {
          // Now it will go inside this condition
        }
   } 

现在它将为您工作。

于 2012-09-27T10:46:07.873 回答