代码之家  ›  专栏  ›  技术社区  ›  esqew

来自textfield的空输入不会nslog?

  •  0
  • esqew  · 技术社区  · 14 年前

    我正在试着调试我的iPhone应用程序(一个基本计数器),我有一个“go to”函数可以转到一个特定的数字。在测试我的应用程序时,我注意到当设置goto而不将任何内容放入 NSTextField ,它不返回任何内容。不是一个 NULL , nil ,或者别的什么。 NSLog 在控制台中甚至不会显示输入字符串。没有空白信息,没有 无效的 留言,没什么。如果你想看到我的代码,这里是:

    - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
     switch(buttonIndex) {
         case 0:
            break;
         case 1:
            NSLog(@"Method called");
            NSLog(@"%@", [[alertView textField] text]);
         if ([[alertView textField] text] != NULL) {
            count = [[[alertView textField] text] intValue];
            [label setText:[[alertView textField] text]];
         } else { 
            break;
         }
      }
    }
    

    “方法调用”总是出现,但在没有输入的情况下,下一行根本不会出现。

    事先谢谢!

    1 回复  |  直到 14 年前
        1
  •  1
  •   James    14 年前

    它不会出现,因为我怀疑它没有什么可显示的!

    如果你真的想展示它,不管怎样尝试:

    NSLog(@"Alertview textfield = %@", [[alertView textField] text]);
    

    这样它将显示字符串的第一部分,然后如果它有任何要显示的文本,它也将附加该文本。

    我刚做了一个很小的测试

    NSString* text = @"";
    NSLog(@"%@",text);
    

    控制台中没有显示任何内容

    ::编辑:

    如果你试图让if语句生效,你可以尝试使用

    if(![[[alertView textField] text] isEqual:@""])
    

    似乎发生的是 [[alertView textField] text] 正在返回的nsstring @"" 而不是 NULL nil .